diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1dd4a69d2..9d1541160 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -30,8 +30,5 @@ jobs:
             --build-cache
             --no-daemon
 
-      - name: Run Detekt Application
-        run: ./gradlew :dms-application:detekt
-
       - name: Run Detekt Domain
-        run: ./gradlew :dms-domain:detekt
\ No newline at end of file
+        run: ./gradlew :dms-core:detekt
\ No newline at end of file
diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt
index c59c1c53f..227c293b4 100644
--- a/buildSrc/src/main/kotlin/Dependencies.kt
+++ b/buildSrc/src/main/kotlin/Dependencies.kt
@@ -15,6 +15,7 @@ object Dependencies {
     // validation
     const val SPRING_VALIDATION = "org.springframework.boot:spring-boot-starter-validation"
 
+    // thymeleaf
     const val SPRING_THYMELEAF = "org.springframework.boot:spring-boot-starter-thymeleaf"
 
     // transaction
@@ -24,9 +25,9 @@ object Dependencies {
     const val CONFIGURATION_PROCESSOR = "org.springframework.boot:spring-boot-configuration-processor"
 
     // database
-    const val SPRING_DATA_JPA = "org.springframework.boot:spring-boot-starter-data-jpa"
-    const val MYSQL_CONNECTOR = "mysql:mysql-connector-java"
-    const val SPRING_REDIS = "org.springframework.boot:spring-boot-starter-data-redis"
+    const val SPRING_DATA_JPA = "org.springframework.boot:spring-boot-starter-data-jpa:${PluginVersions.SPRING_BOOT_VERSION}"
+    const val MYSQL_CONNECTOR = "mysql:mysql-connector-java:${DependencyVersions.MYSQL}"
+    const val SPRING_REDIS = "org.springframework.boot:spring-boot-starter-data-redis:${PluginVersions.SPRING_BOOT_VERSION}"
     const val REDIS = "org.springframework.data:spring-data-redis:${DependencyVersions.REDIS_VERSION}"
 
     // querydsl
@@ -65,4 +66,7 @@ object Dependencies {
 
     // gson
     const val GSON = "com.google.code.gson:gson"
+
+    // sentry
+    const val SENTRY = "io.sentry:sentry-spring-boot-starter:${DependencyVersions.SENTRY_VERSION}"
 }
\ No newline at end of file
diff --git a/buildSrc/src/main/kotlin/DependencyVersions.kt b/buildSrc/src/main/kotlin/DependencyVersions.kt
index 43b357584..0ca46c0e1 100644
--- a/buildSrc/src/main/kotlin/DependencyVersions.kt
+++ b/buildSrc/src/main/kotlin/DependencyVersions.kt
@@ -8,7 +8,9 @@ object DependencyVersions {
     const val UUID_TIME_VERSION = "3.1.4"
     const val SPRING_TRANSACTION = "5.3.22"
     const val QUERYDSL = "5.0.0"
+    const val MYSQL = "8.0.28"
     const val APACHE_POI_VERSION = "3.7"
     const val MOCKK_VERSION = "1.13.2"
     const val OPEN_FEIGN_VERSION = "3.1.4"
+    const val SENTRY_VERSION = "6.2.1"
 }
\ No newline at end of file
diff --git a/dms-application/build.gradle.kts b/dms-core/build.gradle.kts
similarity index 87%
rename from dms-application/build.gradle.kts
rename to dms-core/build.gradle.kts
index c3f949dd6..322fe3fad 100644
--- a/dms-application/build.gradle.kts
+++ b/dms-core/build.gradle.kts
@@ -3,8 +3,6 @@ plugins {
 }
 
 dependencies {
-    // impl project
-    implementation(project(":dms-domain"))
 
     // transaction
     implementation(Dependencies.SPRING_TRANSACTION)
diff --git a/dms-application/config/detekt/detekt.yml b/dms-core/config/detekt/detekt.yml
similarity index 100%
rename from dms-application/config/detekt/detekt.yml
rename to dms-core/config/detekt/detekt.yml
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/common/annotation/Aggregate.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/annotation/Aggregate.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/common/annotation/Aggregate.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/annotation/Aggregate.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/common/annotation/DomainService.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/annotation/DomainService.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/common/annotation/DomainService.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/annotation/DomainService.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/annotation/ReadOnlyUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/annotation/ReadOnlyUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/annotation/ReadOnlyUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/annotation/ReadOnlyUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/annotation/SchedulerUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/annotation/SchedulerUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/annotation/SchedulerUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/annotation/SchedulerUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/annotation/UseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/annotation/UseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/annotation/UseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/annotation/UseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/dto/PageData.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/dto/PageData.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/dto/PageData.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/dto/PageData.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/common/error/DmsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/error/DmsException.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/common/error/DmsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/error/DmsException.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt
similarity index 77%
rename from dms-domain/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt
index ce9a9e797..e3c52e2ff 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/common/error/ErrorProperty.kt
@@ -5,4 +5,6 @@ interface ErrorProperty {
     fun status(): Int
 
     fun message(): String
+
+    fun code(): String
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/common/error/ErrorStatus.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/error/ErrorStatus.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/common/error/ErrorStatus.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/error/ErrorStatus.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/extension/LocalDateExtension.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/extension/LocalDateExtension.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/extension/LocalDateExtension.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/extension/LocalDateExtension.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/spi/NeisFeignClientPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/spi/NeisFeignClientPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/spi/NeisFeignClientPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/spi/NeisFeignClientPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/spi/SecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/spi/SecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/spi/SecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/spi/SecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/util/FileUtil.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/util/FileUtil.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/util/FileUtil.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/util/FileUtil.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/common/util/StringUtil.kt b/dms-core/src/main/kotlin/team/aliens/dms/common/util/StringUtil.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/common/util/StringUtil.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/common/util/StringUtil.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailCodeRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailCodeRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailCodeRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailCodeRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/CertifyEmailRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/ReissueResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/ReissueResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/ReissueResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/ReissueResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SendEmailCodeRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SendEmailCodeRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SendEmailCodeRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SendEmailCodeRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/SignInResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/TokenResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/TokenResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/dto/TokenResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/dto/TokenResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt
similarity index 75%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt
index 31322495c..a1818b087 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeLimitNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object AuthCodeLimitNotFoundException : DmsException(
     AuthErrorCode.AUTH_CODE_LIMIT_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt
similarity index 74%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt
index 45d266aa0..53e4d327e 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object AuthCodeMismatchException : DmsException(
     AuthErrorCode.AUTH_CODE_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt
index d47b95639..c809c92f2 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object AuthCodeNotFoundException : DmsException(
     AuthErrorCode.AUTH_CODE_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt
similarity index 74%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt
index 2fe58b254..4ab2af6da 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/AuthCodeOverLimitException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object AuthCodeOverLimitException : DmsException(
     AuthErrorCode.AUTH_CODE_OVER_LIMITED
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt
similarity index 75%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt
index dea7cb44f..fd4771f31 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailAlreadyCertifiedException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object EmailAlreadyCertifiedException : DmsException(
     AuthErrorCode.EMAIL_ALREADY_CERTIFIED
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt
index 14a3c1a58..2a0f369db 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/EmailMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object EmailMismatchException : DmsException(
     AuthErrorCode.EMAIL_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt
index ec497b45f..9708ad103 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/PasswordMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object PasswordMismatchException : DmsException(
     AuthErrorCode.PASSWORD_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt
index cccf254a4..f73848e27 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/RefreshTokenNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object RefreshTokenNotFoundException : DmsException(
     AuthErrorCode.REFRESH_TOKEN_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt
index 13d8a5a15..a69702910 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/UnverifiedAuthCodeException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.auth.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.auth.error.AuthErrorCode
+import team.aliens.dms.domain.auth.exception.error.AuthErrorCode
 
 object UnverifiedAuthCodeException : DmsException(
     AuthErrorCode.UNVERIFIED_AUTH_CODE
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/error/AuthErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/error/AuthErrorCode.kt
similarity index 68%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/error/AuthErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/error/AuthErrorCode.kt
index c74296204..e965f3a98 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/error/AuthErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/exception/error/AuthErrorCode.kt
@@ -1,27 +1,29 @@
-package team.aliens.dms.domain.auth.error
+package team.aliens.dms.domain.auth.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class AuthErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    AUTH_CODE_MISMATCH(ErrorStatus.UNAUTHORIZED, "Auth Code Mismatch"),
-    EMAIL_MISMATCH(ErrorStatus.UNAUTHORIZED, "Email Mismatch"),
-    PASSWORD_MISMATCH(ErrorStatus.UNAUTHORIZED, "Password Mismatch"),
-    UNVERIFIED_AUTH_CODE(ErrorStatus.UNAUTHORIZED, "Unverified Auth Code"),
+    AUTH_CODE_MISMATCH(ErrorStatus.UNAUTHORIZED, "Auth Code Mismatch", 1),
+    EMAIL_MISMATCH(ErrorStatus.UNAUTHORIZED, "Email Mismatch", 2),
+    PASSWORD_MISMATCH(ErrorStatus.UNAUTHORIZED, "Password Mismatch", 3),
+    UNVERIFIED_AUTH_CODE(ErrorStatus.UNAUTHORIZED, "Unverified Auth Code", 4),
 
-    REFRESH_TOKEN_NOT_FOUND(ErrorStatus.NOT_FOUND, "Refresh Token Not Found"),
-    AUTH_CODE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Auth Code Not Found"),
-    AUTH_CODE_LIMIT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Auth Code Limit Not Found"),
+    REFRESH_TOKEN_NOT_FOUND(ErrorStatus.NOT_FOUND, "Refresh Token Not Found", 1),
+    AUTH_CODE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Auth Code Not Found", 2),
+    AUTH_CODE_LIMIT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Auth Code Limit Not Found", 3),
 
-    EMAIL_ALREADY_CERTIFIED(ErrorStatus.CONFLICT, "Email Already Certified"),
+    EMAIL_ALREADY_CERTIFIED(ErrorStatus.CONFLICT, "Email Already Certified", 1),
 
-    AUTH_CODE_OVER_LIMITED(ErrorStatus.TOO_MANY_REQUEST, "Auth Code Over Limited")
+    AUTH_CODE_OVER_LIMITED(ErrorStatus.TOO_MANY_REQUEST, "Auth Code Over Limited", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "AUTH-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCode.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCode.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCodeLimit.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCodeLimit.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCodeLimit.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/AuthCodeLimit.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/Authority.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/Authority.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/Authority.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/Authority.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/EmailType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/EmailType.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/EmailType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/EmailType.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/RefreshToken.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/RefreshToken.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/model/RefreshToken.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/model/RefreshToken.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodeLimitPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodeLimitPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodeLimitPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodeLimitPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthCodePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/AuthSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodeLimitPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodeLimitPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodeLimitPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodeLimitPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandAuthCodePort.kt
diff --git a/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandRefreshTokenPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandRefreshTokenPort.kt
new file mode 100644
index 000000000..2da89e2ee
--- /dev/null
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/CommandRefreshTokenPort.kt
@@ -0,0 +1,7 @@
+package team.aliens.dms.domain.auth.spi
+
+import team.aliens.dms.domain.auth.model.RefreshToken
+
+interface CommandRefreshTokenPort {
+    fun save(refreshToken: RefreshToken): RefreshToken
+}
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/JwtPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/JwtPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/JwtPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/JwtPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodeLimitPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodeLimitPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodeLimitPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodeLimitPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryAuthCodePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryRefreshTokenPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryRefreshTokenPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryRefreshTokenPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/QueryRefreshTokenPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt
similarity index 56%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt
index b05c99c02..ecc3a2d14 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/RefreshTokenPort.kt
@@ -1,4 +1,5 @@
 package team.aliens.dms.domain.auth.spi
 
 interface RefreshTokenPort :
-    QueryRefreshTokenPort
+    QueryRefreshTokenPort,
+    CommandRefreshTokenPort
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/SendEmailPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/SendEmailPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/spi/SendEmailPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/spi/SendEmailPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/dto/GetFileUploadUrlResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/dto/GetFileUploadUrlResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/dto/GetFileUploadUrlResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/dto/GetFileUploadUrlResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt
index b92dad5b1..c00805bbd 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/BadExcelFormatException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.file.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.file.error.FileErrorCode
+import team.aliens.dms.domain.file.exception.error.FileErrorCode
 
 object BadExcelFormatException : DmsException(
     FileErrorCode.BAD_EXCEL_FORMAT
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt
index d7a5d6529..fee48eac2 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileIOInterruptedException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.file.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.file.error.FileErrorCode
+import team.aliens.dms.domain.file.exception.error.FileErrorCode
 
 object FileIOInterruptedException : DmsException(
     FileErrorCode.IO_INTERRUPTED
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt
index 4d460b188..748139f54 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/FileInvalidExtensionException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.file.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.file.error.FileErrorCode
+import team.aliens.dms.domain.file.exception.error.FileErrorCode
 
 object FileInvalidExtensionException : DmsException(
     FileErrorCode.INVALID_EXTENSION
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/file/error/FileErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/error/FileErrorCode.kt
similarity index 64%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/file/error/FileErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/error/FileErrorCode.kt
index f50681a3a..e66758825 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/file/error/FileErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/exception/error/FileErrorCode.kt
@@ -1,18 +1,20 @@
-package team.aliens.dms.domain.file.error
+package team.aliens.dms.domain.file.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class FileErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    INVALID_EXTENSION(ErrorStatus.BAD_REQUEST, "Allowed Extension : jpg(JPG), jpeg(JPEG), png(PNG), heic(HEIC)"),
-    BAD_EXCEL_FORMAT(ErrorStatus.BAD_REQUEST, "Bad Excel Format"),
-    IO_INTERRUPTED(ErrorStatus.INTERNAL_SERVER_ERROR, "Interrupted File IO")
+    INVALID_EXTENSION(ErrorStatus.BAD_REQUEST, "Allowed Extension : jpg(JPG), jpeg(JPEG), png(PNG), heic(HEIC)", 1),
+    BAD_EXCEL_FORMAT(ErrorStatus.BAD_REQUEST, "Bad Excel Format", 2),
+    IO_INTERRUPTED(ErrorStatus.INTERNAL_SERVER_ERROR, "Interrupted File IO", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "FILE-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/file/model/File.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/model/File.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/file/model/File.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/model/File.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileCommandRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileCommandRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileCommandRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileCommandRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/FileSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/FileSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/ParseFilePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/ParseFilePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/ParseFilePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/ParseFilePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/UploadFilePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/UploadFilePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/UploadFilePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/UploadFilePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt
index 1e43f05d7..24d7d7420 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/spi/WriteFilePort.kt
@@ -1,10 +1,10 @@
 package team.aliens.dms.domain.file.spi
 
-import java.io.File
 import team.aliens.dms.domain.point.model.PointHistory
 import team.aliens.dms.domain.remain.dto.StudentRemainInfo
 import team.aliens.dms.domain.studyroom.model.TimeSlot
 import team.aliens.dms.domain.studyroom.spi.vo.StudentSeatInfo
+import java.io.File
 
 interface WriteFilePort {
 
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/GetFileUploadUrlUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/GetFileUploadUrlUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/GetFileUploadUrlUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/GetFileUploadUrlUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/ImportVerifiedStudentUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/ImportVerifiedStudentUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/ImportVerifiedStudentUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/ImportVerifiedStudentUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/GetStudentDetailsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/GetStudentDetailsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/GetStudentDetailsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/GetStudentDetailsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/ManagerMyPageResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/ManagerMyPageResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/ManagerMyPageResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/ManagerMyPageResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilter.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilter.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilter.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilter.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilterType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilterType.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilterType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/PointFilterType.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/QueryStudentsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/QueryStudentsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/QueryStudentsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/QueryStudentsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/ResetManagerPasswordRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/ResetManagerPasswordRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/ResetManagerPasswordRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/ResetManagerPasswordRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/Sort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/Sort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/dto/Sort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/dto/Sort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt
index e8e460ae5..fdfca8590 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerInfoMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.manager.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.manager.error.ManagerErrorCode
+import team.aliens.dms.domain.manager.exception.error.ManagerErrorCode
 
 object ManagerInfoMismatchException : DmsException(
     ManagerErrorCode.MANAGER_INFO_NOT_MATCHED
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt
index 13cd538a0..59e1b4696 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/ManagerNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.manager.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.manager.error.ManagerErrorCode
+import team.aliens.dms.domain.manager.exception.error.ManagerErrorCode
 
 object ManagerNotFoundException : DmsException(
     ManagerErrorCode.MANAGER_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/error/ManagerErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/error/ManagerErrorCode.kt
similarity index 65%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/error/ManagerErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/error/ManagerErrorCode.kt
index ff9a57555..a511799c8 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/error/ManagerErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/exception/error/ManagerErrorCode.kt
@@ -1,18 +1,20 @@
-package team.aliens.dms.domain.manager.error
+package team.aliens.dms.domain.manager.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class ManagerErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    MANAGER_INFO_NOT_MATCHED(ErrorStatus.UNAUTHORIZED, "Manager Info Not Matched"),
+    MANAGER_INFO_NOT_MATCHED(ErrorStatus.UNAUTHORIZED, "Manager Info Not Matched", 1),
 
-    MANAGER_NOT_FOUND(ErrorStatus.NOT_FOUND, "Manager Not Found")
+    MANAGER_NOT_FOUND(ErrorStatus.NOT_FOUND, "Manager Not Found", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "MANAGER-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/model/Manager.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/model/Manager.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/model/Manager.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/model/Manager.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandRemainStatusPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandRemainStatusPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandRemainStatusPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandRemainStatusPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerCommandUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryAuthCodePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryAuthCodePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryAuthCodePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryAuthCodePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryPointHistoryPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryPointHistoryPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryPointHistoryPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryPointHistoryPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudyRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryStudyRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryTagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryTagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryTagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryTagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/ManagerSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt
similarity index 79%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt
index 725612f55..ef00dff9e 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/QueryManagerPort.kt
@@ -6,4 +6,6 @@ import java.util.UUID
 interface QueryManagerPort {
 
     fun queryManagerById(managerId: UUID): Manager?
+
+    fun existsManagerById(managerId: UUID): Boolean
 }
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/vo/StudentWithTag.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/vo/StudentWithTag.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/spi/vo/StudentWithTag.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/spi/vo/StudentWithTag.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/dto/NeisMealServiceDietInfosResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/dto/NeisMealServiceDietInfosResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/dto/NeisMealServiceDietInfosResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/dto/NeisMealServiceDietInfosResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/dto/QueryMealsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/dto/QueryMealsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/dto/QueryMealsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/dto/QueryMealsResponse.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/model/Meal.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/model/Meal.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/model/Meal.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/model/Meal.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/CommandMealPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/CommandMealPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/CommandMealPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/CommandMealPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientSchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientSchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientSchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealFeignClientSchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/MealSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/QueryMealPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/QueryMealPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/spi/QueryMealPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/spi/QueryMealPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/meal/usecase/SaveAllMealsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/meal/usecase/SaveAllMealsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/meal/usecase/SaveAllMealsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/meal/usecase/SaveAllMealsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryAllNoticesResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryAllNoticesResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryAllNoticesResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryAllNoticesResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryNoticeDetailsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryNoticeDetailsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryNoticeDetailsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/dto/QueryNoticeDetailsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt
index 1bcb49804..06c745bc1 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/IsNotWriterException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.notice.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.notice.error.NoticeErrorCode
+import team.aliens.dms.domain.notice.exception.error.NoticeErrorCode
 
 object IsNotWriterException : DmsException(
     NoticeErrorCode.IS_NOT_WRITER
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt
index 564a1e989..434bb01a1 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/NoticeNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.notice.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.notice.error.NoticeErrorCode
+import team.aliens.dms.domain.notice.exception.error.NoticeErrorCode
 
 object NoticeNotFoundException : DmsException(
     NoticeErrorCode.NOTICE_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/error/NoticeErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/error/NoticeErrorCode.kt
similarity index 56%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/error/NoticeErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/error/NoticeErrorCode.kt
index 52ea01cda..68942d20d 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/error/NoticeErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/exception/error/NoticeErrorCode.kt
@@ -1,18 +1,20 @@
-package team.aliens.dms.domain.notice.error
+package team.aliens.dms.domain.notice.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class NoticeErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    IS_NOT_WRITER(ErrorStatus.UNAUTHORIZED, "Only Writer Can Delete"),
+    IS_NOT_WRITER(ErrorStatus.UNAUTHORIZED, "Only Writer Can Delete", 1),
 
-    NOTICE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Notice Not Found")
+    NOTICE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Notice Not Found", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "NOTICE-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/model/Notice.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/model/Notice.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/model/Notice.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/model/Notice.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/model/OrderType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/model/OrderType.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/model/OrderType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/model/OrderType.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/CommandNoticePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/CommandNoticePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/CommandNoticePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/CommandNoticePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/NoticeSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/QueryNoticePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/QueryNoticePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/spi/QueryNoticePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/spi/QueryNoticePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/CreateNoticeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/CreateNoticeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/CreateNoticeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/CreateNoticeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt
index 8d8e21f71..3579b7224 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCase.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.notice.usecase
 
-import java.util.UUID
 import team.aliens.dms.common.annotation.ReadOnlyUseCase
 import team.aliens.dms.domain.manager.exception.ManagerNotFoundException
 import team.aliens.dms.domain.notice.dto.QueryNoticeDetailsResponse
@@ -10,6 +9,7 @@ import team.aliens.dms.domain.notice.spi.NoticeSecurityPort
 import team.aliens.dms.domain.notice.spi.QueryNoticePort
 import team.aliens.dms.domain.school.validateSameSchool
 import team.aliens.dms.domain.user.exception.UserNotFoundException
+import java.util.UUID
 
 @ReadOnlyUseCase
 class QueryNoticeDetailsUseCase(
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/CreatePointOptionResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/ExportAllPointHistoryResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/ExportAllPointHistoryResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/ExportAllPointHistoryResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/ExportAllPointHistoryResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/GrantPointRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/GrantPointRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/GrantPointRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/GrantPointRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/PointHistoryDto.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/PointHistoryDto.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/PointHistoryDto.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/PointHistoryDto.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/PointRequestType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/PointRequestType.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/PointRequestType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/PointRequestType.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryAllPointHistoryResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryAllPointHistoryResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryAllPointHistoryResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryAllPointHistoryResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointHistoryResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointHistoryResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointHistoryResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointHistoryResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointOptionsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointOptionsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointOptionsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryPointOptionsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryStudentPointHistoryResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryStudentPointHistoryResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryStudentPointHistoryResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/dto/QueryStudentPointHistoryResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt
index 4329bb2d7..0188563d3 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/InvalidPointFilterRangeException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointHistoryErrorCode
+import team.aliens.dms.domain.point.exception.error.PointHistoryErrorCode
 
 object InvalidPointFilterRangeException : DmsException(
     PointHistoryErrorCode.INVALID_POINT_FILTER_RANGE
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt
similarity index 74%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt
index a0da01bf7..962a45f9d 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryCanNotCancelException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointHistoryErrorCode
+import team.aliens.dms.domain.point.exception.error.PointHistoryErrorCode
 
 object PointHistoryCanNotCancelException : DmsException(
     PointHistoryErrorCode.POINT_HISTORY_CAN_NOT_CANCEL
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt
index e4d77b2c6..8ea928300 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointHistoryNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointHistoryErrorCode
+import team.aliens.dms.domain.point.exception.error.PointHistoryErrorCode
 
 object PointHistoryNotFoundException : DmsException(
     PointHistoryErrorCode.POINT_HISTORY_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt
index 9bc99d268..1a4c38c88 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNameExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointOptionErrorCode
+import team.aliens.dms.domain.point.exception.error.PointOptionErrorCode
 
 object PointOptionNameExistsException : DmsException(
     PointOptionErrorCode.POINT_OPTION_NAME_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt
index 4c1b41102..dc9510bb8 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointOptionErrorCode
+import team.aliens.dms.domain.point.exception.error.PointOptionErrorCode
 
 object PointOptionNotFoundException : DmsException(
     PointOptionErrorCode.POINT_OPTION_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt
similarity index 74%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt
index efd0586fb..5fc7a5580 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/PointOptionSchoolMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.point.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.point.error.PointOptionErrorCode
+import team.aliens.dms.domain.point.exception.error.PointOptionErrorCode
 
 object PointOptionSchoolMismatchException : DmsException(
     PointOptionErrorCode.POINT_OPTION_SCHOOL_MISMATCH
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointHistoryErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointHistoryErrorCode.kt
similarity index 65%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointHistoryErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointHistoryErrorCode.kt
index 43b357d95..84ebcf249 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointHistoryErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointHistoryErrorCode.kt
@@ -1,18 +1,22 @@
-package team.aliens.dms.domain.point.error
+package team.aliens.dms.domain.point.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class PointHistoryErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    POINT_HISTORY_NOT_FOUND(ErrorStatus.NOT_FOUND, "Point History Not Found"),
-    INVALID_POINT_FILTER_RANGE(ErrorStatus.BAD_REQUEST, "Invalid Point Filter Range"),
-    POINT_HISTORY_CAN_NOT_CANCEL(ErrorStatus.BAD_REQUEST, "Point History Can Not Cancel")
+    POINT_HISTORY_NOT_FOUND(ErrorStatus.NOT_FOUND, "Point History Not Found", 1),
+
+    INVALID_POINT_FILTER_RANGE(ErrorStatus.BAD_REQUEST, "Invalid Point Filter Range", 2),
+
+    POINT_HISTORY_CAN_NOT_CANCEL(ErrorStatus.BAD_REQUEST, "Point History Can Not Cancel", 2)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "POINT-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointOptionErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointOptionErrorCode.kt
similarity index 66%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointOptionErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointOptionErrorCode.kt
index 9e60ce199..4c0bdd539 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/error/PointOptionErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/exception/error/PointOptionErrorCode.kt
@@ -1,18 +1,22 @@
-package team.aliens.dms.domain.point.error
+package team.aliens.dms.domain.point.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class PointOptionErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    POINT_OPTION_NAME_EXISTS(ErrorStatus.CONFLICT, "Point Option Exists"),
-    POINT_OPTION_NOT_FOUND(ErrorStatus.NOT_FOUND, "Point Option Not Found"),
-    POINT_OPTION_SCHOOL_MISMATCH(ErrorStatus.UNAUTHORIZED, "Point Option School Mismatch")
+    POINT_OPTION_NAME_EXISTS(ErrorStatus.CONFLICT, "Point Option Exists", 1),
+
+    POINT_OPTION_SCHOOL_MISMATCH(ErrorStatus.UNAUTHORIZED, "Point Option School Mismatch", 1),
+
+    POINT_OPTION_NOT_FOUND(ErrorStatus.NOT_FOUND, "Point Option Not Found", 2),
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "POINT-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/Phrase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/Phrase.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/Phrase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/Phrase.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointFilter.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointFilter.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointFilter.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointFilter.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointHistory.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointHistory.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointHistory.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointHistory.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointOption.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointOption.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointOption.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointOption.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointType.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/point/model/PointType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/model/PointType.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointHistoryPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointHistoryPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointHistoryPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointHistoryPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/CommandPointOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PhrasePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PhrasePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PhrasePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PhrasePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointHistoryPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointHistoryPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointHistoryPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointHistoryPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryManagerPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryManagerPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryManagerPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryManagerPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/PointSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/PointSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointHistoryPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointHistoryPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointHistoryPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointHistoryPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/QueryPointOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/StudentQueryPhrasePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/StudentQueryPhrasePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/StudentQueryPhrasePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/StudentQueryPhrasePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/vo/StudentWithPointVO.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/vo/StudentWithPointVO.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/spi/vo/StudentWithPointVO.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/spi/vo/StudentWithPointVO.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt
similarity index 96%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt
index 5faa6d10f..104d9475f 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCase.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.point.usecase
 
-import java.time.LocalDateTime
 import team.aliens.dms.common.annotation.ReadOnlyUseCase
 import team.aliens.dms.domain.file.model.File
 import team.aliens.dms.domain.file.spi.WriteFilePort
@@ -13,6 +12,7 @@ import team.aliens.dms.domain.point.spi.QueryPointHistoryPort
 import team.aliens.dms.domain.school.exception.SchoolNotFoundException
 import team.aliens.dms.domain.school.model.School
 import team.aliens.dms.domain.user.exception.UserNotFoundException
+import java.time.LocalDateTime
 
 @ReadOnlyUseCase
 class ExportAllPointHistoryUseCase(
@@ -50,8 +50,8 @@ class ExportAllPointHistoryUseCase(
         pointHistories: List<PointHistory>
     ): String {
 
-        val startDate = start ?:
-            if (pointHistories.isNotEmpty()) {
+        val startDate = start
+            ?: if (pointHistories.isNotEmpty()) {
                 pointHistories.last().createdAt
             } else end
         val startDateString = startDate.format(File.FILE_DATE_FORMAT)
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryCurrentAppliedRemainOptionResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryCurrentAppliedRemainOptionResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryCurrentAppliedRemainOptionResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryCurrentAppliedRemainOptionResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainAvailableTimeResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainAvailableTimeResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainAvailableTimeResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainAvailableTimeResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainOptionsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainOptionsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainOptionsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/QueryRemainOptionsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/RemainStatusInfo.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/RemainStatusInfo.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/RemainStatusInfo.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/RemainStatusInfo.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/StudentRemainInfo.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/StudentRemainInfo.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/StudentRemainInfo.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/StudentRemainInfo.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/UpdateRemainAvailableTimeRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/UpdateRemainAvailableTimeRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/UpdateRemainAvailableTimeRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/UpdateRemainAvailableTimeRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/response/ExportRemainStatusResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/response/ExportRemainStatusResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/dto/response/ExportRemainStatusResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/dto/response/ExportRemainStatusResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt
index 6b8ec7aa2..cd2a10ed3 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeCanNotAccessException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.remain.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.remain.error.RemainAvailableTimeErrorCode
+import team.aliens.dms.domain.remain.exception.error.RemainAvailableTimeErrorCode
 
 object RemainAvailableTimeCanNotAccessException : DmsException(
     RemainAvailableTimeErrorCode.REMAIN_AVAILABLE_TIME_CAN_NOT_ACCESS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt
index a77833545..feb8d2cf6 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainAvailableTimeNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.remain.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.remain.error.RemainAvailableTimeErrorCode
+import team.aliens.dms.domain.remain.exception.error.RemainAvailableTimeErrorCode
 
 object RemainAvailableTimeNotFoundException : DmsException(
     RemainAvailableTimeErrorCode.REMAIN_AVAILABLE_TIME_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt
similarity index 71%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt
index 031184a28..022209e6a 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainCanNotAppliedException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.remain.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.remain.error.RemainAvailableTimeErrorCode
+import team.aliens.dms.domain.remain.exception.error.RemainAvailableTimeErrorCode
 
 object RemainCanNotAppliedException : DmsException(
     RemainAvailableTimeErrorCode.REMAIN_CAN_NOT_APPLIED
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt
index b0466ed76..59e79c92b 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainOptionNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.remain.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.remain.error.RemainOptionErrorCode
+import team.aliens.dms.domain.remain.exception.error.RemainOptionErrorCode
 
 object RemainOptionNotFoundException : DmsException(
     RemainOptionErrorCode.REMAIN_OPTION_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt
index 58919860d..50775f5f4 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/RemainStatusNotFound.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.remain.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.remain.error.RemainStatusErrorCode
+import team.aliens.dms.domain.remain.exception.error.RemainStatusErrorCode
 
 object RemainStatusNotFound : DmsException(
     RemainStatusErrorCode.REMAIN_STATUS_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainAvailableTimeErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainAvailableTimeErrorCode.kt
similarity index 63%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainAvailableTimeErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainAvailableTimeErrorCode.kt
index 11d6586c2..a3f55a3f2 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainAvailableTimeErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainAvailableTimeErrorCode.kt
@@ -1,19 +1,21 @@
-package team.aliens.dms.domain.remain.error
+package team.aliens.dms.domain.remain.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class RemainAvailableTimeErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    REMAIN_CAN_NOT_APPLIED(ErrorStatus.FORBIDDEN, "Remain Can Not Apply"),
-    REMAIN_AVAILABLE_TIME_CAN_NOT_ACCESS(ErrorStatus.FORBIDDEN, "Remain Available Time Can Not Access"),
+    REMAIN_CAN_NOT_APPLIED(ErrorStatus.FORBIDDEN, "Remain Can Not Apply", 1),
+    REMAIN_AVAILABLE_TIME_CAN_NOT_ACCESS(ErrorStatus.FORBIDDEN, "Remain Available Time Can Not Access", 2),
 
-    REMAIN_AVAILABLE_TIME_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Available Time Not Found"),
+    REMAIN_AVAILABLE_TIME_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Available Time Not Found", 1),
     ;
 
     override fun status() = status
     override fun message() = message
+    override fun code(): String = "REMAIN-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainOptionErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainOptionErrorCode.kt
similarity index 63%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainOptionErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainOptionErrorCode.kt
index 9e2a8ea2a..3becc4961 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainOptionErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainOptionErrorCode.kt
@@ -1,16 +1,18 @@
-package team.aliens.dms.domain.remain.error
+package team.aliens.dms.domain.remain.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class RemainOptionErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    REMAIN_OPTION_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Option Not Found")
+    REMAIN_OPTION_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Option Not Found", 2)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "REMAIN-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainStatusErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainStatusErrorCode.kt
similarity index 62%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainStatusErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainStatusErrorCode.kt
index dd57d2b6f..bd68d18a3 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/error/RemainStatusErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/exception/error/RemainStatusErrorCode.kt
@@ -1,16 +1,18 @@
-package team.aliens.dms.domain.remain.error
+package team.aliens.dms.domain.remain.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class RemainStatusErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    REMAIN_STATUS_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Status Not Found")
+    REMAIN_STATUS_NOT_FOUND(ErrorStatus.NOT_FOUND, "Remain Status Not Found", 3)
     ;
 
     override fun status() = status
     override fun message() = message
+    override fun code(): String = "REMAIN-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainAvailableTime.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainAvailableTime.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainAvailableTime.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainAvailableTime.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainOption.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainOption.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainOption.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainOption.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainStatus.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainStatus.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainStatus.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/model/RemainStatus.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainAvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainAvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainAvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainAvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainStatusPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainStatusPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainStatusPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/CommandRemainStatusPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainAvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainAvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainAvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainAvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainStatusPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainStatusPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainStatusPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/QueryRemainStatusPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainAvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainAvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainAvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainAvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainOptionPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainOptionPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainOptionPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainOptionPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainStatusPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainStatusPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainStatusPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/spi/RemainStatusPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt
index f93877f5e..229b95dda 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/RoomNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.room.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.room.error.RoomErrorCode
+import team.aliens.dms.domain.room.exception.error.RoomErrorCode
 
 object RoomNotFoundException : DmsException(
     RoomErrorCode.ROOM_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/error/RoomErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/error/RoomErrorCode.kt
similarity index 53%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/room/error/RoomErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/error/RoomErrorCode.kt
index 0ed5b74cb..238585b5e 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/error/RoomErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/exception/error/RoomErrorCode.kt
@@ -1,16 +1,18 @@
-package team.aliens.dms.domain.room.error
+package team.aliens.dms.domain.room.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class RoomErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    ROOM_NOT_FOUND(ErrorStatus.NOT_FOUND, "Room Not Found")
+    ROOM_NOT_FOUND(ErrorStatus.NOT_FOUND, "Room Not Found", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "ROOM-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/model/Room.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/model/Room.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/room/model/Room.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/room/model/Room.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/room/spi/RoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/room/spi/RoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/room/spi/RoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/room/spi/RoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/SchoolExtension.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/SchoolExtension.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/SchoolExtension.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/SchoolExtension.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt
similarity index 98%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt
index a59d0c25b..7a00a3ff3 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/aop/AvailableFeatureAspect.kt
@@ -2,7 +2,7 @@ package team.aliens.dms.domain.school.aop
 
 import org.aspectj.lang.annotation.Aspect
 import org.aspectj.lang.annotation.Before
-import org.springframework.stereotype.Component
+import team.aliens.dms.common.annotation.UseCase
 import team.aliens.dms.domain.school.exception.FeatureNotAvailableException
 import team.aliens.dms.domain.school.exception.FeatureNotFoundException
 import team.aliens.dms.domain.school.model.AvailableFeature
@@ -11,7 +11,7 @@ import team.aliens.dms.domain.school.spi.SchoolQueryUserPort
 import team.aliens.dms.domain.school.spi.SchoolSecurityPort
 import team.aliens.dms.domain.user.exception.UserNotFoundException
 
-@Component
+@UseCase
 @Aspect
 class AvailableFeatureAspect(
     private val securityPort: SchoolSecurityPort,
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/NeisSchoolResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/NeisSchoolResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/NeisSchoolResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/NeisSchoolResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/QueryAvailableFeaturesResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/QueryAvailableFeaturesResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/QueryAvailableFeaturesResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/QueryAvailableFeaturesResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/SchoolsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/SchoolsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/SchoolsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/SchoolsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/UpdateQuestionRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/UpdateQuestionRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/dto/UpdateQuestionRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/dto/UpdateQuestionRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt
index 00f9679bb..868af8d91 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/AnswerMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object AnswerMismatchException : DmsException(
     SchoolErrorCode.ANSWER_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt
index 9ef441f5a..ab4719305 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotAvailableException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object FeatureNotAvailableException : DmsException(
     SchoolErrorCode.FEATURE_NOT_AVAILABLE
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt
index 2aacf3dcc..b814a7a2f 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/FeatureNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object FeatureNotFoundException : DmsException(
     SchoolErrorCode.FEATURE_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt
index 7baf1856e..85f593ada 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolCodeMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object SchoolCodeMismatchException : DmsException(
     SchoolErrorCode.SCHOOL_CODE_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt
index 52fe8251a..bc009d7b5 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object SchoolMismatchException : DmsException(
     SchoolErrorCode.SCHOOL_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt
index 2290cb59d..1f2d9d2bf 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/SchoolNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.school.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.school.error.SchoolErrorCode
+import team.aliens.dms.domain.school.exception.error.SchoolErrorCode
 
 object SchoolNotFoundException : DmsException(
     SchoolErrorCode.SCHOOL_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/error/SchoolErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/error/SchoolErrorCode.kt
similarity index 52%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/school/error/SchoolErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/error/SchoolErrorCode.kt
index 174508100..58fcb618e 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/error/SchoolErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/exception/error/SchoolErrorCode.kt
@@ -1,23 +1,25 @@
-package team.aliens.dms.domain.school.error
+package team.aliens.dms.domain.school.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class SchoolErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    ANSWER_MISMATCH(ErrorStatus.UNAUTHORIZED, "Answer Mismatch"),
-    SCHOOL_CODE_MISMATCH(ErrorStatus.UNAUTHORIZED, "School Code Mismatch"),
-    SCHOOL_MISMATCH(ErrorStatus.UNAUTHORIZED, "School Mismatch"),
+    ANSWER_MISMATCH(ErrorStatus.UNAUTHORIZED, "Answer Mismatch", 1),
+    SCHOOL_CODE_MISMATCH(ErrorStatus.UNAUTHORIZED, "School Code Mismatch", 2),
+    SCHOOL_MISMATCH(ErrorStatus.UNAUTHORIZED, "School Mismatch", 3),
 
-    SCHOOL_NOT_FOUND(ErrorStatus.NOT_FOUND, "School Not Found"),
-    FEATURE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Feature Not Found"),
+    SCHOOL_NOT_FOUND(ErrorStatus.NOT_FOUND, "School Not Found", 1),
+    FEATURE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Feature Not Found", 2),
 
-    FEATURE_NOT_AVAILABLE(ErrorStatus.FORBIDDEN, "Feature Not Available")
+    FEATURE_NOT_AVAILABLE(ErrorStatus.FORBIDDEN, "Feature Not Available", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "SCHOOL-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/model/AvailableFeature.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/model/AvailableFeature.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/school/model/AvailableFeature.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/model/AvailableFeature.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/model/School.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/model/School.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/school/model/School.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/model/School.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/CommandSchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/CommandSchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/CommandSchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/CommandSchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/QuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/QuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/QuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/QuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/spi/SchoolSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/CheckStudentGcnRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/CheckStudentGcnRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/CheckStudentGcnRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/CheckStudentGcnRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/FindStudentAccountIdRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/FindStudentAccountIdRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/FindStudentAccountIdRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/FindStudentAccountIdRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/ResetStudentPasswordRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/ResetStudentPasswordRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/ResetStudentPasswordRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/ResetStudentPasswordRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/SignUpResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/StudentMyPageResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/StudentMyPageResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/dto/StudentMyPageResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/dto/StudentMyPageResponse.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt
similarity index 71%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt
index 5c3cea20c..6517ad0f3 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/SexMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.student.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.student.error.StudentErrorCode
+import team.aliens.dms.domain.student.exception.error.StudentErrorCode
 
 object SexMismatchException : DmsException(
     StudentErrorCode.SEX_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt
index 4dfe9bea8..91076ecbd 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentAlreadyExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.student.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.student.error.StudentErrorCode
+import team.aliens.dms.domain.student.exception.error.StudentErrorCode
 
 object StudentAlreadyExistsException : DmsException(
     StudentErrorCode.STUDENT_ALREADY_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt
index 857ed5aaf..48343c646 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentInfoMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.student.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.student.error.StudentErrorCode
+import team.aliens.dms.domain.student.exception.error.StudentErrorCode
 
 object StudentInfoMismatchException : DmsException(
     StudentErrorCode.STUDENT_INFO_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt
index abd3d1c73..f336d3ebb 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/StudentNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.student.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.student.error.StudentErrorCode
+import team.aliens.dms.domain.student.exception.error.StudentErrorCode
 
 object StudentNotFoundException : DmsException(
     StudentErrorCode.STUDENT_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt
index ca5b4ba15..4abbda67a 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/VerifiedStudentNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.student.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.student.error.VerifiedStudentErrorCode
+import team.aliens.dms.domain.student.exception.error.VerifiedStudentErrorCode
 
 object VerifiedStudentNotFoundException : DmsException(
     VerifiedStudentErrorCode.VERIFIED_STUDENT_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/StudentErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/StudentErrorCode.kt
similarity index 62%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/StudentErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/StudentErrorCode.kt
index c344dd2f1..828de0c69 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/StudentErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/StudentErrorCode.kt
@@ -1,22 +1,24 @@
-package team.aliens.dms.domain.student.error
+package team.aliens.dms.domain.student.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class StudentErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    SEX_MISMATCH(ErrorStatus.BAD_REQUEST, "Sex Mismatch"),
+    SEX_MISMATCH(ErrorStatus.BAD_REQUEST, "Sex Mismatch", 1),
 
-    STUDENT_INFO_MISMATCH(ErrorStatus.UNAUTHORIZED, "Student Info Mismatch"),
+    STUDENT_INFO_MISMATCH(ErrorStatus.UNAUTHORIZED, "Student Info Mismatch", 1),
 
-    STUDENT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Student Not Found"),
+    STUDENT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Student Not Found", 1),
 
-    STUDENT_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Student Already Exists")
+    STUDENT_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Student Already Exists", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "STUDENT-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/VerifiedStudentErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/VerifiedStudentErrorCode.kt
similarity index 64%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/VerifiedStudentErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/VerifiedStudentErrorCode.kt
index 53c0e7878..8e7b9f8ab 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/error/VerifiedStudentErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/exception/error/VerifiedStudentErrorCode.kt
@@ -1,16 +1,18 @@
-package team.aliens.dms.domain.student.error
+package team.aliens.dms.domain.student.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class VerifiedStudentErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    VERIFIED_STUDENT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Unverified Student")
+    VERIFIED_STUDENT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Unverified Student", 2)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "SCHOOL-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/Sex.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/Sex.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/Sex.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/Sex.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/Student.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/Student.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/Student.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/Student.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt
similarity index 94%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt
index 271717d35..4e86b4615 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/model/VerifiedStudent.kt
@@ -6,7 +6,7 @@ import java.util.UUID
 @Aggregate
 data class VerifiedStudent(
 
-    val id: UUID,
+    val id: UUID = UUID.randomUUID(),
 
     val schoolName: String,
 
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/CommandStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/CommandStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/CommandStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/CommandStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt
similarity index 90%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt
index eb96c974b..39476e45a 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/QueryStudentPort.kt
@@ -11,5 +11,7 @@ interface QueryStudentPort {
 
     fun queryStudentById(studentId: UUID): Student?
 
+    fun existsStudentById(studentId: UUID): Boolean
+
     fun existsBySchoolIdAndGcnList(schoolId: UUID, gcnList: List<Triple<Int, Int, Int>>): Boolean
 }
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandRemainStatusPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandRemainStatusPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandRemainStatusPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandRemainStatusPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandStudyRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandStudyRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentCommandUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentJwtPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentJwtPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentJwtPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentJwtPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodeLimitPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodeLimitPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodeLimitPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodeLimitPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryAuthCodePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryPointHistoryPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryPointHistoryPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryPointHistoryPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryPointHistoryPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryStudyRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryStudyRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryVerifiedStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryVerifiedStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryVerifiedStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentQueryVerifiedStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/StudentSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/VerifiedStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/VerifiedStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/spi/VerifiedStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/spi/VerifiedStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ExportStudyRoomApplicationStatusResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ExportStudyRoomApplicationStatusResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ExportStudyRoomApplicationStatusResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ExportStudyRoomApplicationStatusResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/ManagerQueryStudyRoomsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryAvailableTimeResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryAvailableTimeResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryAvailableTimeResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryAvailableTimeResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryCurrentAppliedStudyRoomResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryCurrentAppliedStudyRoomResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryCurrentAppliedStudyRoomResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryCurrentAppliedStudyRoomResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QuerySeatTypesResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QuerySeatTypesResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QuerySeatTypesResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QuerySeatTypesResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryTimeSlotsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryTimeSlotsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryTimeSlotsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/QueryTimeSlotsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/StudentQueryStudyRoomsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt
index 0179d79f5..b96e900e7 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AppliedSeatNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatErrorCode
 
 object AppliedSeatNotFoundException : DmsException(
     SeatErrorCode.APPLIED_SEAT_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt
index 2f67ff7ec..2ccae33d3 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/AvailableTimeNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.AvailableTimeErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.AvailableTimeErrorCode
 
 object AvailableTimeNotFoundException : DmsException(
     AvailableTimeErrorCode.AVAILABLE_TIME_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt
similarity index 73%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt
index 5f7ec3761..08fc30c56 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatAlreadyAppliedException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatErrorCode
 
 object SeatAlreadyAppliedException : DmsException(
     SeatErrorCode.SEAT_ALREADY_APPLIED
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt
similarity index 73%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt
index 2de3931bd..a5ec0771a 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatCanNotAppliedException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatErrorCode
 
 object SeatCanNotAppliedException : DmsException(
     SeatErrorCode.SEAT_CAN_NOT_APPLY
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt
index 97c5d13b2..47a9f90f1 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatErrorCode
 
 object SeatNotFoundException : DmsException(
     SeatErrorCode.SEAT_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt
index b1c69da50..7eb8f1544 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeAlreadyExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatTypeErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatTypeErrorCode
 
 object SeatTypeAlreadyExistsException : DmsException(
     SeatTypeErrorCode.SEAT_TYPE_ALREADY_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt
similarity index 71%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt
index 2566bcbff..95e4a3c03 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeInUseException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatTypeErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatTypeErrorCode
 
 object SeatTypeInUseException : DmsException(
     SeatTypeErrorCode.SEAT_TYPE_IN_USE
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt
index bee8cd476..ed2da1135 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/SeatTypeNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.SeatTypeErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.SeatTypeErrorCode
 
 object SeatTypeNotFoundException : DmsException(
     SeatTypeErrorCode.SEAT_TYPE_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt
index c9adf6c2f..e54faa4ce 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAlreadyExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object StudyRoomAlreadyExistsException : DmsException(
     StudyRoomErrorCode.STUDY_ROOM_ALREADY_EXISTS
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt
similarity index 75%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt
index 36e60916a..11b0009b0 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableGradeMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object StudyRoomAvailableGradeMismatchException : DmsException(
     StudyRoomErrorCode.STUDY_ROOM_AVAILABLE_GRADE_MISMATCH
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt
similarity index 74%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt
index 9551ce32a..71463d870 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomAvailableSexMismatchException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object StudyRoomAvailableSexMismatchException : DmsException(
     StudyRoomErrorCode.STUDY_ROOM_AVAILABLE_SEX_MISMATCH
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt
index d25d1913a..bfbc9d4f6 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object StudyRoomNotFoundException : DmsException(
     StudyRoomErrorCode.STUDY_ROOM_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt
index f6512532e..630d8014b 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/StudyRoomTimeSlotNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object StudyRoomTimeSlotNotFoundException : DmsException(
     StudyRoomErrorCode.STUDY_ROOM_TIME_SLOT_NOT_FOUND
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt
index 89b43a93b..f44df53b8 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotAlreadyExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object TimeSlotAlreadyExistsException : DmsException(
     StudyRoomErrorCode.TIME_SLOT_ALREADY_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt
similarity index 71%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt
index 44829e1bb..03adcf6b9 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotInUseException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object TimeSlotInUseException : DmsException(
     StudyRoomErrorCode.TIME_SLOT_IN_USE
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt
index c5bb6c3ec..12e9c5d10 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/TimeSlotNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.studyroom.error.StudyRoomErrorCode
+import team.aliens.dms.domain.studyroom.exception.error.StudyRoomErrorCode
 
 object TimeSlotNotFoundException : DmsException(
     StudyRoomErrorCode.TIME_SLOT_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/AvailableTimeErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/AvailableTimeErrorCode.kt
similarity index 61%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/AvailableTimeErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/AvailableTimeErrorCode.kt
index 64bd37141..151dcdfaf 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/AvailableTimeErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/AvailableTimeErrorCode.kt
@@ -1,16 +1,18 @@
-package team.aliens.dms.domain.studyroom.error
+package team.aliens.dms.domain.studyroom.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class AvailableTimeErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    AVAILABLE_TIME_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Available Time Not Found")
+    AVAILABLE_TIME_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Available Time Not Found", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "STUDY-ROOM-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatErrorCode.kt
similarity index 62%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatErrorCode.kt
index 3e8c39534..1e0dd5342 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatErrorCode.kt
@@ -1,21 +1,23 @@
-package team.aliens.dms.domain.studyroom.error
+package team.aliens.dms.domain.studyroom.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class SeatErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    SEAT_CAN_NOT_APPLY(ErrorStatus.FORBIDDEN, "Seat Can Not Apply"),
+    SEAT_CAN_NOT_APPLY(ErrorStatus.FORBIDDEN, "Seat Can Not Apply", 1),
 
-    SEAT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Seat Not Found"),
-    APPLIED_SEAT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Applied Seat Not Found"),
+    SEAT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Seat Not Found", 2),
+    APPLIED_SEAT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Applied Seat Not Found", 3),
 
-    SEAT_ALREADY_APPLIED(ErrorStatus.CONFLICT, "Seat Already Applied")
+    SEAT_ALREADY_APPLIED(ErrorStatus.CONFLICT, "Seat Already Applied", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "STUDY-ROOM-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatTypeErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatTypeErrorCode.kt
similarity index 59%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatTypeErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatTypeErrorCode.kt
index 661e7c364..3ff2379e1 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/SeatTypeErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/SeatTypeErrorCode.kt
@@ -1,19 +1,21 @@
-package team.aliens.dms.domain.studyroom.error
+package team.aliens.dms.domain.studyroom.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class SeatTypeErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    SEAT_TYPE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Seat Type Not Found"),
+    SEAT_TYPE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Seat Type Not Found", 4),
 
-    SEAT_TYPE_IN_USE(ErrorStatus.CONFLICT, "Seat Type In Use"),
-    SEAT_TYPE_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Seat Type Already Exists")
+    SEAT_TYPE_IN_USE(ErrorStatus.CONFLICT, "Seat Type In Use", 2),
+    SEAT_TYPE_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Seat Type Already Exists", 3)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "STUDY-ROOM-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/StudyRoomErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/StudyRoomErrorCode.kt
similarity index 62%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/StudyRoomErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/StudyRoomErrorCode.kt
index 48cdd30f5..f5b97016f 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/error/StudyRoomErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/error/StudyRoomErrorCode.kt
@@ -1,25 +1,27 @@
-package team.aliens.dms.domain.studyroom.error
+package team.aliens.dms.domain.studyroom.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class StudyRoomErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    STUDY_ROOM_AVAILABLE_SEX_MISMATCH(ErrorStatus.UNAUTHORIZED, "Study Room Available Sex Mismatch"),
-    STUDY_ROOM_AVAILABLE_GRADE_MISMATCH(ErrorStatus.UNAUTHORIZED, "Study Room Available Grade Mismatch"),
+    STUDY_ROOM_AVAILABLE_SEX_MISMATCH(ErrorStatus.UNAUTHORIZED, "Study Room Available Sex Mismatch", 1),
+    STUDY_ROOM_AVAILABLE_GRADE_MISMATCH(ErrorStatus.UNAUTHORIZED, "Study Room Available Grade Mismatch", 2),
 
-    STUDY_ROOM_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Not Found"),
-    TIME_SLOT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Time Slot Not Found"),
-    STUDY_ROOM_TIME_SLOT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Time Slot Not Found"),
+    STUDY_ROOM_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Not Found", 5),
+    TIME_SLOT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Time Slot Not Found", 6),
+    STUDY_ROOM_TIME_SLOT_NOT_FOUND(ErrorStatus.NOT_FOUND, "Study Room Time Slot Not Found", 7),
 
-    STUDY_ROOM_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Study Room Already Exists"),
-    TIME_SLOT_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Timeslot Already Exists"),
-    TIME_SLOT_IN_USE(ErrorStatus.CONFLICT, "Time Slot In Use")
+    STUDY_ROOM_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Study Room Already Exists", 4),
+    TIME_SLOT_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Timeslot Already Exists", 5),
+    TIME_SLOT_IN_USE(ErrorStatus.CONFLICT, "Time Slot In Use", 6)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "STUDY-ROOM-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt
similarity index 96%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt
index daaca9065..303a8770f 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/AvailableTime.kt
@@ -18,7 +18,8 @@ data class AvailableTime(
         val now = LocalTime.now()
 
         if ((startAt < endAt && (isBeforeStartTime(now) || isAfterEndTime(now))) ||
-            startAt > endAt && (isBeforeStartTime(now) && isAfterEndTime(now))) {
+            startAt > endAt && (isBeforeStartTime(now) && isAfterEndTime(now))
+        ) {
             return false
         }
         return true
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt
similarity index 78%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt
index 69a3dacf8..93bd08552 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/Seat.kt
@@ -20,6 +20,6 @@ data class Seat(
 
 ) {
     companion object {
-        fun processName(seatNumber: Int, typeName: String) = "${seatNumber}($typeName)"
+        fun processName(seatNumber: Int, typeName: String) = "$seatNumber($typeName)"
     }
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatApplication.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatApplication.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatApplication.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatApplication.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatStatus.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatStatus.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatStatus.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatStatus.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatType.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatType.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatType.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/SeatType.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt
similarity index 94%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt
index b77253fbd..a6a8479ca 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoom.kt
@@ -47,6 +47,6 @@ data class StudyRoom(
     }
 
     companion object {
-        fun precessName(floor: Int, name: String) = "$floor-${name}"
+        fun precessName(floor: Int, name: String) = "$floor-$name"
     }
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoomTimeSlot.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoomTimeSlot.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoomTimeSlot.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/StudyRoomTimeSlot.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/TimeSlot.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/TimeSlot.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/model/TimeSlot.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/model/TimeSlot.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/AvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/AvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/AvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/AvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandAvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandAvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandAvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandAvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandSeatTypePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandSeatTypePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandSeatTypePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandSeatTypePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt
similarity index 91%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt
index b446a9788..b626ff2d7 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/CommandStudyRoomPort.kt
@@ -31,6 +31,8 @@ interface CommandStudyRoomPort {
 
     fun deleteSeatApplicationByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID)
 
+    fun deleteSeatApplicationBySeatIdAndStudentIdAndTimeSlotId(seatId: UUID, studentId: UUID, timeSlotId: UUID)
+
     fun deleteSeatApplicationByTimeSlotId(timeSlotId: UUID)
 
     fun deleteStudyRoomTimeSlotByStudyRoomId(studyRoomId: UUID)
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryAvailableTimePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryAvailableTimePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryAvailableTimePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryAvailableTimePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt
index 434917571..96481080a 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QuerySeatTypePort.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.studyroom.spi
 
-import java.util.UUID
 import team.aliens.dms.domain.studyroom.model.SeatType
+import java.util.UUID
 
 interface QuerySeatTypePort {
 
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt
similarity index 94%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt
index b963fc043..bc0f7fa63 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/QueryStudyRoomPort.kt
@@ -1,7 +1,5 @@
 package team.aliens.dms.domain.studyroom.spi
 
-import java.time.LocalTime
-import java.util.UUID
 import team.aliens.dms.domain.student.model.Sex
 import team.aliens.dms.domain.studyroom.model.Seat
 import team.aliens.dms.domain.studyroom.model.SeatApplication
@@ -10,6 +8,8 @@ import team.aliens.dms.domain.studyroom.model.TimeSlot
 import team.aliens.dms.domain.studyroom.spi.vo.SeatApplicationVO
 import team.aliens.dms.domain.studyroom.spi.vo.StudentSeatApplicationVO
 import team.aliens.dms.domain.studyroom.spi.vo.StudyRoomVO
+import java.time.LocalTime
+import java.util.UUID
 
 interface QueryStudyRoomPort {
 
@@ -19,7 +19,7 @@ interface QueryStudyRoomPort {
 
     fun querySeatApplicationsByStudentId(studentId: UUID): List<SeatApplication>
 
-    fun querySeatApplicationByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID): SeatApplication?
+    fun querySeatApplicationsByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID): SeatApplication?
 
     fun queryAllSeatsById(seatIds: List<UUID>): List<Seat>
 
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypeQueryStudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypeQueryStudyRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypeQueryStudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/SeatTypeQueryStudyRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQuerySchoolPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQuerySchoolPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQuerySchoolPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQuerySchoolPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/StudyRoomSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/SeatApplicationVO.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/SeatApplicationVO.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/SeatApplicationVO.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/SeatApplicationVO.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatApplicationVO.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatApplicationVO.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatApplicationVO.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatApplicationVO.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt
similarity index 55%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt
index 8bccc0967..6562007f6 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudentSeatInfo.kt
@@ -3,14 +3,14 @@ package team.aliens.dms.domain.studyroom.spi.vo
 import java.util.UUID
 
 class StudentSeatInfo(
-    val grade: Int,
-    val classRoom: Int,
-    val number: Int,
+    val studentGrade: Int,
+    val studentClassRoom: Int,
+    val studentNumber: Int,
     val studentName: String,
     val seats: List<SeatInfo>?
 ) {
     class SeatInfo(
-        val seatFullName: String,
-        val timeSlotId: UUID
+        val seatFullName: String?,
+        val timeSlotId: UUID?
     )
 }
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudyRoomVO.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudyRoomVO.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudyRoomVO.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/spi/vo/StudyRoomVO.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateSeatTypeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateSeatTypeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateSeatTypeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateSeatTypeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt
similarity index 83%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt
index 2ffda18b2..47cdb6631 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomApplicationStatusUseCase.kt
@@ -39,14 +39,14 @@ class ExportStudyRoomApplicationStatusUseCase(
 
         val studentSeats = students.map { student ->
             StudentSeatInfo(
-                grade = student.grade,
-                classRoom = student.classRoom,
-                number = student.number,
+                studentGrade = student.grade,
+                studentClassRoom = student.classRoom,
+                studentNumber = student.number,
                 studentName = student.name,
                 seats = studentSeatApplicationsMap[student.id]?.map {
                     StudentSeatInfo.SeatInfo(
                         seatFullName = StudyRoom.precessName(it.studyRoomFloor, it.studyRoomName) +
-                                " " + Seat.processName(it.seatNumber, it.seatTypeName),
+                            " " + Seat.processName(it.seatNumber, it.seatTypeName),
                         timeSlotId = it.timeSlotId
                     )
                 }
@@ -62,16 +62,15 @@ class ExportStudyRoomApplicationStatusUseCase(
         )
     }
 
-    private fun getStudentSeatApplicationsMap(students: List<Student>): MutableMap<UUID, MutableList<StudentSeatApplicationVO>> {
-        val map = mutableMapOf<UUID, MutableList<StudentSeatApplicationVO>>()
-        queryStudyRoomPort.querySeatApplicationsByStudentIdIn(
-            studentIds = students.map { it.id }
-        ).map {
-            map[it.studentId]
-                ?.run { this.add(it) } ?: map.put(it.studentId, mutableListOf(it))
+    private fun getStudentSeatApplicationsMap(students: List<Student>) =
+        mutableMapOf<UUID, MutableList<StudentSeatApplicationVO>>().apply {
+            queryStudyRoomPort.querySeatApplicationsByStudentIdIn(
+                studentIds = students.map { it.id }
+            ).map {
+                get(it.studentId)
+                    ?.run { this.add(it) } ?: put(it.studentId, mutableListOf(it))
+            }
         }
-        return map
-    }
 
     private fun getStudyRoomApplicationStatusFile(
         file: java.io.File?,
@@ -82,7 +81,7 @@ class ExportStudyRoomApplicationStatusUseCase(
             baseFile = file,
             timeSlots = timeSlots,
             studentSeatsMap = studentSeats.associateBy {
-                Pair(Student.processGcn(it.grade, it.classRoom, it.number), it.studentName)
+                Pair(Student.processGcn(it.studentGrade, it.studentClassRoom, it.studentNumber), it.studentName)
             }
         )
     } ?: writeFilePort.writeStudyRoomApplicationStatusExcelFile(
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryAvailableTimeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryAvailableTimeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryAvailableTimeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryAvailableTimeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt
index a7265a61a..0f6106bd7 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCase.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.studyroom.usecase
 
-import java.util.UUID
 import team.aliens.dms.common.annotation.ReadOnlyUseCase
 import team.aliens.dms.domain.studyroom.dto.QuerySeatTypesResponse
 import team.aliens.dms.domain.studyroom.dto.QuerySeatTypesResponse.TypeElement
@@ -8,6 +7,7 @@ import team.aliens.dms.domain.studyroom.spi.QuerySeatTypePort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomQueryUserPort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomSecurityPort
 import team.aliens.dms.domain.user.exception.UserNotFoundException
+import java.util.UUID
 
 @ReadOnlyUseCase
 class QuerySeatTypesUseCase(
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryTimeSlotsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryTimeSlotsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryTimeSlotsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryTimeSlotsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveSeatTypeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveSeatTypeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveSeatTypeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveSeatTypeUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ResetAllStudyRoomsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ResetAllStudyRoomsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ResetAllStudyRoomsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/ResetAllStudyRoomsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt
similarity index 96%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt
index 54b94eb94..f18d89e1d 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCase.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.studyroom.usecase
 
-import java.util.UUID
 import team.aliens.dms.common.annotation.ReadOnlyUseCase
 import team.aliens.dms.domain.school.validateSameSchool
 import team.aliens.dms.domain.student.exception.StudentNotFoundException
@@ -13,6 +12,7 @@ import team.aliens.dms.domain.studyroom.spi.StudyRoomQueryStudentPort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomQueryUserPort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomSecurityPort
 import team.aliens.dms.domain.user.exception.UserNotFoundException
+import java.util.UUID
 
 @ReadOnlyUseCase
 class StudentQueryStudyRoomsUseCase(
@@ -53,7 +53,7 @@ class StudentQueryStudyRoomsUseCase(
 
     private fun getAppliedSeatApplication(currentUserId: UUID, timeSlotId: UUID): Seat? {
         val seatApplication =
-            queryStudyRoomPort.querySeatApplicationByStudentIdAndTimeSlotId(currentUserId, timeSlotId)
+            queryStudyRoomPort.querySeatApplicationsByStudentIdAndTimeSlotId(currentUserId, timeSlotId)
         return seatApplication?.seatId?.let { queryStudyRoomPort.querySeatById(it) }
     }
 }
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt
index 2d84d0736..8cf700994 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UnApplySeatUseCase.kt
@@ -11,8 +11,8 @@ class UnApplySeatUseCase(
     private val commandStudyRoomPort: CommandStudyRoomPort
 ) {
 
-    fun execute(timeSlotId: UUID) {
+    fun execute(seatId: UUID, timeSlotId: UUID) {
         val currentUserId = securityPort.getCurrentUserId()
-        commandStudyRoomPort.deleteSeatApplicationByStudentIdAndTimeSlotId(currentUserId, timeSlotId)
+        commandStudyRoomPort.deleteSeatApplicationBySeatIdAndStudentIdAndTimeSlotId(seatId, currentUserId, timeSlotId)
     }
 }
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt
index 4ee81ddc7..4f95cfeeb 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateAvailableTimeUseCase.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.studyroom.usecase
 
-import java.time.LocalTime
 import team.aliens.dms.common.annotation.UseCase
 import team.aliens.dms.domain.studyroom.model.AvailableTime
 import team.aliens.dms.domain.studyroom.spi.CommandAvailableTimePort
@@ -8,6 +7,7 @@ import team.aliens.dms.domain.studyroom.spi.QueryAvailableTimePort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomQueryUserPort
 import team.aliens.dms.domain.studyroom.spi.StudyRoomSecurityPort
 import team.aliens.dms.domain.user.exception.UserNotFoundException
+import java.time.LocalTime
 
 @UseCase
 class UpdateAvailableTimeUseCase(
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/QueryTagsResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/QueryTagsResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/QueryTagsResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/QueryTagsResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/TagResponse.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/TagResponse.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/dto/TagResponse.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/dto/TagResponse.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt
index 020c0c8bb..2bad37e83 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagAlreadyExistsException.kt
@@ -1,6 +1,6 @@
 package team.aliens.dms.domain.tag.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.tag.error.TagErrorCode
+import team.aliens.dms.domain.tag.exception.error.TagErrorCode
 
 object TagAlreadyExistsException : DmsException(TagErrorCode.TAG_ALREADY_EXISTS)
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt
index fb1c110ad..f2d78aa50 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/TagNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.tag.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.tag.error.TagErrorCode
+import team.aliens.dms.domain.tag.exception.error.TagErrorCode
 
 object TagNotFoundException : DmsException(
     TagErrorCode.TAG_NOT_FOUND
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/error/TagErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/error/TagErrorCode.kt
similarity index 58%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/error/TagErrorCode.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/error/TagErrorCode.kt
index 0bd7be0c9..aa60a4adc 100644
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/error/TagErrorCode.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/exception/error/TagErrorCode.kt
@@ -1,17 +1,19 @@
-package team.aliens.dms.domain.tag.error
+package team.aliens.dms.domain.tag.exception.error
 
 import team.aliens.dms.common.error.ErrorProperty
 import team.aliens.dms.common.error.ErrorStatus
 
 enum class TagErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    TAG_NOT_FOUND(ErrorStatus.NOT_FOUND, "Tag Not Found"),
-    TAG_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Tag Already Exists")
+    TAG_NOT_FOUND(ErrorStatus.NOT_FOUND, "Tag Not Found", 1),
+    TAG_ALREADY_EXISTS(ErrorStatus.CONFLICT, "Tag Already Exists", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "TAG-$status-$sequence"
 }
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/model/StudentTag.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/model/StudentTag.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/model/StudentTag.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/model/StudentTag.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/model/Tag.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/model/Tag.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/model/Tag.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/model/Tag.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandStudentTagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandStudentTagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandStudentTagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandStudentTagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandTagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandTagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandTagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/CommandTagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/QueryTagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/QueryTagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/QueryTagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/QueryTagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/StudentTagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/StudentTagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/StudentTagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/StudentTagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryStudentPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagQueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/spi/TagSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/template/spi/TemplatePort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/template/spi/TemplatePort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/template/spi/TemplatePort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/template/spi/TemplatePort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/template/usecase/TemplateUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/template/usecase/TemplateUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/template/usecase/TemplateUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/template/usecase/TemplateUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/dto/UpdateUserPasswordRequest.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/dto/UpdateUserPasswordRequest.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/dto/UpdateUserPasswordRequest.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/dto/UpdateUserPasswordRequest.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt
similarity index 72%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt
index 85c43ea32..325ce80ee 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/InvalidRoleException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.user.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.user.error.UserErrorCode
+import team.aliens.dms.domain.user.exception.error.UserErrorCode
 
 object InvalidRoleException : DmsException(
     UserErrorCode.INVALID_ROLE
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt
similarity index 74%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt
index fea502516..8c6126556 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserAccountIdExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.user.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.user.error.UserErrorCode
+import team.aliens.dms.domain.user.exception.error.UserErrorCode
 
 object UserAccountIdExistsException : DmsException(
     UserErrorCode.USER_ACCOUNT_ID_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt
index 1f2edca39..b8cbb7d55 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserEmailExistsException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.user.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.user.error.UserErrorCode
+import team.aliens.dms.domain.user.exception.error.UserErrorCode
 
 object UserEmailExistsException : DmsException(
     UserErrorCode.USER_EMAIL_EXISTS
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt
similarity index 73%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt
index 35f15ee4a..480cf4439 100644
--- a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/UserNotFoundException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.domain.user.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.domain.user.error.UserErrorCode
+import team.aliens.dms.domain.user.exception.error.UserErrorCode
 
 object UserNotFoundException : DmsException(
     UserErrorCode.USER_NOT_FOUND
diff --git a/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/error/UserErrorCode.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/error/UserErrorCode.kt
new file mode 100644
index 000000000..b1dffc3e4
--- /dev/null
+++ b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/exception/error/UserErrorCode.kt
@@ -0,0 +1,23 @@
+package team.aliens.dms.domain.user.exception.error
+
+import team.aliens.dms.common.error.ErrorProperty
+import team.aliens.dms.common.error.ErrorStatus
+
+enum class UserErrorCode(
+    private val status: Int,
+    private val message: String,
+    private val sequence: Int
+) : ErrorProperty {
+
+    INVALID_ROLE(ErrorStatus.FORBIDDEN, "Invalid Role", 1),
+
+    USER_NOT_FOUND(ErrorStatus.NOT_FOUND, "User Not Found", 1),
+
+    USER_EMAIL_EXISTS(ErrorStatus.CONFLICT, "User Email Exists", 1),
+    USER_ACCOUNT_ID_EXISTS(ErrorStatus.CONFLICT, "User Account Id Exists", 2)
+    ;
+
+    override fun status(): Int = status
+    override fun message(): String = message
+    override fun code(): String = "USER-$status-$sequence"
+}
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/model/User.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/model/User.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/user/model/User.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/model/User.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthority.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthority.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthority.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthority.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthorityService.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthorityService.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthorityService.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/service/CheckUserAuthorityService.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/CommandUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/CommandUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/CommandUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/CommandUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/QueryUserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/QueryUserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/QueryUserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/QueryUserPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserJwtPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserJwtPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserJwtPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserJwtPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserPort.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/spi/UserQueryStudentPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserQueryStudentPort.kt
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/user/spi/UserQueryStudentPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserQueryStudentPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserSecurityPort.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserSecurityPort.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/spi/UserSecurityPort.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/spi/UserSecurityPort.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCase.kt
diff --git a/dms-application/src/main/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCase.kt b/dms-core/src/main/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCase.kt
similarity index 100%
rename from dms-application/src/main/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCase.kt
rename to dms-core/src/main/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCase.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/stub/AuthStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/stub/AuthStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/stub/AuthStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/stub/AuthStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailCodeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CertifyEmailUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/CheckAccountIdExistenceUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/ReissueTokenUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SendEmailCodeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/auth/usecase/SignInUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/file/usecase/UploadFileUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/stub/ManagerStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/stub/ManagerStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/stub/ManagerStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/stub/ManagerStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/FindManagerAccountIdUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ManagerMyPageUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentDetailsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/QueryStudentsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/RemoveStudentUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/manager/usecase/ResetManagerPasswordUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/meal/stub/MealStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/meal/stub/MealStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/meal/stub/MealStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/meal/stub/MealStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/meal/usecase/QueryMealsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/stub/NoticeStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/stub/NoticeStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/stub/NoticeStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/stub/NoticeStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryAllNoticesUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeDetailsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/QueryNoticeStatusUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/RemoveNoticeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/notice/usecase/UpdateNoticeUseCaseTest.kt
diff --git a/dms-domain/src/test/kotlin/team/aliens/dms/point/model/PointHistoryTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/model/PointHistoryTests.kt
similarity index 92%
rename from dms-domain/src/test/kotlin/team/aliens/dms/point/model/PointHistoryTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/model/PointHistoryTests.kt
index 725db8999..c6b7defc5 100644
--- a/dms-domain/src/test/kotlin/team/aliens/dms/point/model/PointHistoryTests.kt
+++ b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/model/PointHistoryTests.kt
@@ -1,12 +1,10 @@
-package team.aliens.dms.point.model
+package team.aliens.dms.domain.point.model
 
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.assertAll
 import org.junit.jupiter.api.assertThrows
 import team.aliens.dms.domain.point.exception.PointHistoryCanNotCancelException
-import team.aliens.dms.domain.point.model.PointHistory
-import team.aliens.dms.domain.point.model.PointType
 import java.time.LocalDateTime
 import java.util.UUID
 
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/stub/PointStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/stub/PointStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/stub/PointStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/stub/PointStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/CancelGrantedPointUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/CreatePointOptionUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/ExportAllPointHistoryUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/GrantPointUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryAllPointHistoryUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointHistoryUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryPointOptionsUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/QueryStudentPointHistoryUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/RemovePointOptionUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/point/usecase/UpdatePointOptionUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/stub/RemainStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/stub/RemainStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/stub/RemainStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/stub/RemainStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ApplyRemainUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/CreateRemainUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/ExportRemainStatusUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryCurrentAppliedRemainOptionUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainAvailableTimeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/QueryRemainOptionsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/RemoveRemainOptionUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainAvailableTimeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/remain/usecase/UpdateRemainOptionUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/room/stub/RoomStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/room/stub/RoomStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/room/stub/RoomStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/room/stub/RoomStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/room/usecase/.gitkeep b/dms-core/src/test/kotlin/team/aliens/dms/domain/room/usecase/.gitkeep
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/room/usecase/.gitkeep
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/room/usecase/.gitkeep
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/stub/SchoolStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/stub/SchoolStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/stub/SchoolStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/stub/SchoolStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolAnswerUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/CheckSchoolCodeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCaseTest.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCaseTest.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCaseTest.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QueryAvailableFeaturesUseCaseTest.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolQuestionUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/QuerySchoolsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/ReissueSchoolCodeUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/school/usecase/UpdateQuestionUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/stub/StudentStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/stub/StudentStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/stub/StudentStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/stub/StudentStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedAccountIdUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckDuplicatedEmailUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/CheckStudentGcnUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/FindStudentAccountIdUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/ResetStudentPasswordUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/SignUpUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentMyPageUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/StudentWithdrawalUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/student/usecase/UpdateStudentProfileUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt
similarity index 99%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt
index 943eada46..2942c1600 100644
--- a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt
+++ b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/stub/StudyRoomStub.kt
@@ -1,7 +1,5 @@
 package team.aliens.dms.domain.studyroom.stub
 
-import java.time.LocalTime
-import java.util.UUID
 import team.aliens.dms.domain.student.model.Sex
 import team.aliens.dms.domain.studyroom.model.Seat
 import team.aliens.dms.domain.studyroom.model.SeatApplication
@@ -9,6 +7,8 @@ import team.aliens.dms.domain.studyroom.model.SeatStatus
 import team.aliens.dms.domain.studyroom.model.SeatType
 import team.aliens.dms.domain.studyroom.model.StudyRoom
 import team.aliens.dms.domain.studyroom.model.TimeSlot
+import java.time.LocalTime
+import java.util.UUID
 
 internal fun createStudyRoomStub(
     id: UUID = UUID.randomUUID(),
@@ -90,4 +90,4 @@ internal fun createSeatTypeStub(
     schoolId = schoolId,
     name = name,
     color = color
-)
\ No newline at end of file
+)
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ApplySeatUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateStudyRoomUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/CreateTimeSlotUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt
similarity index 93%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt
index 44c195e98..094da011a 100644
--- a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt
+++ b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ExportStudyRoomStudentsApplicationStatusUseCaseTests.kt
@@ -3,8 +3,6 @@ package team.aliens.dms.domain.studyroom.usecase
 import io.mockk.every
 import io.mockk.mockk
 import io.mockk.slot
-import java.io.File
-import java.util.UUID
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.assertAll
@@ -23,6 +21,8 @@ import team.aliens.dms.domain.studyroom.spi.vo.StudentSeatInfo
 import team.aliens.dms.domain.studyroom.stub.createTimeSlotStub
 import team.aliens.dms.domain.user.exception.UserNotFoundException
 import team.aliens.dms.domain.user.stub.createUserStub
+import java.io.File
+import java.util.UUID
 
 class ExportStudyRoomStudentsApplicationStatusUseCaseTests {
 
@@ -112,9 +112,9 @@ class ExportStudyRoomStudentsApplicationStatusUseCaseTests {
 
         assertAll(
             { assertEquals(studentSeatInfo.studentName, studentStub.name) },
-            { assertEquals(studentSeatInfo.grade, studentStub.grade) },
-            { assertEquals(studentSeatInfo.classRoom, studentStub.classRoom) },
-            { assertEquals(studentSeatInfo.number, studentStub.number) },
+            { assertEquals(studentSeatInfo.studentGrade, studentStub.grade) },
+            { assertEquals(studentSeatInfo.studentClassRoom, studentStub.classRoom) },
+            { assertEquals(studentSeatInfo.studentNumber, studentStub.number) },
             { assertEquals(studentSeatInfo.seats?.get(0)?.timeSlotId, studentSeatApplicationVOStub.timeSlotId) },
             { assert(response.fileName.startsWith("${schoolStub.name.replace(" ", "")}_자습실_신청상태_")) }
         )
@@ -149,9 +149,9 @@ class ExportStudyRoomStudentsApplicationStatusUseCaseTests {
 
         assertAll(
             { assertEquals(studentSeatInfo.studentName, studentStub.name) },
-            { assertEquals(studentSeatInfo.grade, studentStub.grade) },
-            { assertEquals(studentSeatInfo.classRoom, studentStub.classRoom) },
-            { assertEquals(studentSeatInfo.number, studentStub.number) },
+            { assertEquals(studentSeatInfo.studentGrade, studentStub.grade) },
+            { assertEquals(studentSeatInfo.studentClassRoom, studentStub.classRoom) },
+            { assertEquals(studentSeatInfo.studentNumber, studentStub.number) },
             { assertEquals(studentSeatInfo.seats?.get(0)?.timeSlotId, studentSeatApplicationVOStub.timeSlotId) },
             { assert(response.fileName.startsWith("${schoolStub.name.replace(" ", "")}_자습실_신청상태_")) }
         )
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/ManagerQueryStudyRoomsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QueryCurrentAppliedStudyRoomUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt
similarity index 99%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt
index d587d4a39..4849da09f 100644
--- a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt
+++ b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/QuerySeatTypesUseCaseTests.kt
@@ -3,7 +3,6 @@ package team.aliens.dms.domain.studyroom.usecase
 import io.mockk.every
 import io.mockk.mockk
 import io.mockk.verify
-import java.util.UUID
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.assertAll
@@ -14,6 +13,7 @@ import team.aliens.dms.domain.studyroom.spi.StudyRoomSecurityPort
 import team.aliens.dms.domain.studyroom.stub.createSeatTypeStub
 import team.aliens.dms.domain.user.exception.UserNotFoundException
 import team.aliens.dms.domain.user.stub.createUserStub
+import java.util.UUID
 
 class QuerySeatTypesUseCaseTests {
 
@@ -85,4 +85,4 @@ class QuerySeatTypesUseCaseTests {
             querySeatTypesUseCase.execute(null)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/RemoveTimeSlotUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt
index 3a22ab830..17db684c3 100644
--- a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt
+++ b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/StudentQueryStudyRoomsUseCaseTests.kt
@@ -2,8 +2,6 @@ package team.aliens.dms.domain.studyroom.usecase
 
 import io.mockk.every
 import io.mockk.mockk
-import java.time.LocalTime
-import java.util.UUID
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.assertDoesNotThrow
 import org.junit.jupiter.api.assertThrows
@@ -21,6 +19,8 @@ import team.aliens.dms.domain.studyroom.spi.vo.StudyRoomVO
 import team.aliens.dms.domain.studyroom.stub.createTimeSlotStub
 import team.aliens.dms.domain.user.exception.UserNotFoundException
 import team.aliens.dms.domain.user.stub.createUserStub
+import java.time.LocalTime
+import java.util.UUID
 
 class StudentQueryStudyRoomsUseCaseTests {
 
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateStudyRoomUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/studyroom/usecase/UpdateTimeSlotUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/stub/StudentTagStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/stub/StudentTagStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/stub/StudentTagStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/stub/StudentTagStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/stub/TagStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/stub/TagStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/stub/TagStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/stub/TagStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CancelGrantedTagUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/CreateTagUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/GrantTagUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/QueryTagsUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/RemoveTagUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/tag/usecase/UpdateTagUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/user/stub/UserStub.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/user/stub/UserStub.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/user/stub/UserStub.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/user/stub/UserStub.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/user/usecase/UpdateUserPasswordUseCaseTests.kt
diff --git a/dms-application/src/test/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCaseTests.kt b/dms-core/src/test/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCaseTests.kt
similarity index 100%
rename from dms-application/src/test/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCaseTests.kt
rename to dms-core/src/test/kotlin/team/aliens/dms/domain/user/usecase/UserPasswordCompareUseCaseTests.kt
diff --git a/dms-domain/build.gradle.kts b/dms-domain/build.gradle.kts
deleted file mode 100644
index 571b41756..000000000
--- a/dms-domain/build.gradle.kts
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies {
-}
\ No newline at end of file
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/file/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/file/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/manager/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/error/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/error/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/meal/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/notice/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/point/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/remain/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/room/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/school/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/student/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/studyroom/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/service/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/tag/service/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/error/UserErrorCode.kt b/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/error/UserErrorCode.kt
deleted file mode 100644
index 7ed831722..000000000
--- a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/error/UserErrorCode.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package team.aliens.dms.domain.user.error
-
-import team.aliens.dms.common.error.ErrorProperty
-import team.aliens.dms.common.error.ErrorStatus
-
-enum class UserErrorCode(
-    private val status: Int,
-    private val message: String
-) : ErrorProperty {
-
-    INVALID_ROLE(ErrorStatus.FORBIDDEN, "Invalid Role"),
-
-    USER_NOT_FOUND(ErrorStatus.NOT_FOUND, "User Not Found"),
-
-    USER_EMAIL_EXISTS(ErrorStatus.CONFLICT, "User Email Exists"),
-    USER_ACCOUNT_ID_EXISTS(ErrorStatus.CONFLICT, "User Account Id Exists")
-    ;
-
-    override fun status(): Int = status
-    override fun message(): String = message
-}
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/exception/.gitkeep b/dms-domain/src/main/kotlin/team/aliens/dms/domain/user/exception/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-domain/src/test/kotlin/team/aliens/dms/.gitkeep b/dms-domain/src/test/kotlin/team/aliens/dms/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-infrastructure/build.gradle.kts b/dms-infrastructure/build.gradle.kts
index 03799d747..60622ee60 100644
--- a/dms-infrastructure/build.gradle.kts
+++ b/dms-infrastructure/build.gradle.kts
@@ -7,8 +7,8 @@ plugins {
 
 dependencies {
     // impl project
-    implementation(project(":dms-domain"))
-    implementation(project(":dms-application"))
+    implementation(project(":dms-persistence"))
+    implementation(project(":dms-core"))
     implementation(project(":dms-presentation"))
 
     // validation
@@ -20,19 +20,6 @@ dependencies {
     // security
     implementation(Dependencies.SPRING_SECURITY)
 
-    // database
-    implementation(Dependencies.SPRING_DATA_JPA)
-    runtimeOnly(Dependencies.MYSQL_CONNECTOR)
-    implementation(Dependencies.REDIS)
-    implementation(Dependencies.SPRING_REDIS)
-
-    // querydsl
-    implementation(Dependencies.QUERYDSL)
-    kapt(Dependencies.QUERYDSL_PROCESSOR)
-
-    // time based uuid
-    implementation(Dependencies.UUID_TIME)
-
     // jwt
     implementation(Dependencies.JWT)
 
@@ -55,6 +42,12 @@ dependencies {
 
     // jackson
     implementation(Dependencies.JACKSON_TYPE)
+
+    // aop
+    implementation(Dependencies.SPRING_AOP)
+
+    // logging
+    implementation(Dependencies.SENTRY)
 }
 
 kapt {
@@ -64,18 +57,6 @@ kapt {
     }
 }
 
-allOpen {
-    annotation("javax.persistence.Entity")
-    annotation("javax.persistence.MappedSuperclass")
-    annotation("javax.persistence.Embeddable")
-}
-
-noArg {
-    annotation("javax.persistence.Entity")
-    annotation("javax.persistence.MappedSuperclass")
-    annotation("javax.persistence.Embeddable")
-}
-
 tasks.getByName<Jar>("jar") {
     enabled = false
 }
\ No newline at end of file
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/ErrorResponse.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/ErrorResponse.kt
index 6af3ef2e3..48b8036a5 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/ErrorResponse.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/ErrorResponse.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.global.error
 
-import org.springframework.dao.DataIntegrityViolationException
 import org.springframework.validation.BindingResult
 import org.springframework.validation.FieldError
 import team.aliens.dms.common.error.ErrorProperty
@@ -9,13 +8,15 @@ import javax.validation.ConstraintViolationException
 
 data class ErrorResponse(
     val status: Int,
-    val message: String
+    val message: String,
+    val code: String
 ) {
 
     companion object {
         fun of(errorProperty: ErrorProperty) = ErrorResponse(
             errorProperty.status(),
-            errorProperty.message()
+            errorProperty.message(),
+            errorProperty.code()
         )
 
         fun of(e: BindingResult): ValidationErrorResponse {
@@ -51,13 +52,6 @@ data class ErrorResponse(
                 fieldError = errorMap
             )
         }
-
-        fun of(e: DataIntegrityViolationException): ErrorResponse {
-            return ErrorResponse(
-                status = GlobalErrorCode.BAD_REQUEST.status(),
-                message = e.message ?: ""
-            )
-        }
     }
 }
 
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorCode.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorCode.kt
index 42ea6dd78..87442442b 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorCode.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorCode.kt
@@ -4,19 +4,21 @@ import team.aliens.dms.common.error.ErrorProperty
 
 enum class GlobalErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
 
-    SEND_EMAIL_REJECTED(400, "Send Email Rejected"),
-    SIMPLE_EMAIL_SERVICE(400, "Simple Email Service"),
-    BAD_REQUEST(400, "Bad Request"),
-    INVALID_FILE(400, "Invalid File"),
+    SEND_EMAIL_REJECTED(400, "Send Email Rejected", 1),
+    SIMPLE_EMAIL_SERVICE(400, "Simple Email Service", 2),
+    BAD_REQUEST(400, "Bad Request", 3),
+    INVALID_FILE(400, "Invalid File", 4),
 
-    EXTENSION_MISMATCH(401, "File Extension Mismatch"),
+    EXTENSION_MISMATCH(401, "File Extension Mismatch", 1),
 
-    INTERNAL_SERVER_ERROR(500, "Internal Server Error")
+    INTERNAL_SERVER_ERROR(500, "Internal Server Error", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "GLOBAL-$status-$sequence"
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorHandler.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorHandler.kt
index 044031370..b31656a80 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorHandler.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/error/GlobalErrorHandler.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.global.error
 
-import org.springframework.dao.DataIntegrityViolationException
 import org.springframework.http.HttpStatus
 import org.springframework.validation.BindException
 import org.springframework.validation.BindingResult
@@ -24,8 +23,4 @@ class GlobalErrorHandler {
     @ResponseStatus(HttpStatus.BAD_REQUEST)
     @ExceptionHandler(MethodArgumentNotValidException::class)
     protected fun handleMethodArgumentNotViolationException(e: BindingResult): ValidationErrorResponse? = ErrorResponse.of(e)
-
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ExceptionHandler(DataIntegrityViolationException::class)
-    protected fun handleDataIntegrityViolationException(e: DataIntegrityViolationException): ErrorResponse? = ErrorResponse.of(e)
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/filter/ExceptionFilter.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/filter/ExceptionFilter.kt
index fb600d78f..d48c4c94b 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/filter/ExceptionFilter.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/filter/ExceptionFilter.kt
@@ -1,6 +1,7 @@
 package team.aliens.dms.global.filter
 
 import com.fasterxml.jackson.databind.ObjectMapper
+import io.sentry.Sentry
 import org.springframework.http.MediaType
 import org.springframework.web.filter.OncePerRequestFilter
 import team.aliens.dms.common.error.DmsException
@@ -25,12 +26,16 @@ class ExceptionFilter(
             filterChain.doFilter(request, response)
         } catch (e: DmsException) {
             errorToJson(e.errorProperty, response)
+            Sentry.captureException(e)
         } catch (e: Exception) {
             when (e.cause) {
-                is DmsException -> errorToJson((e.cause as DmsException).errorProperty, response)
+                is DmsException -> {
+                    errorToJson((e.cause as DmsException).errorProperty, response)
+                    Sentry.captureException(e)
+                }
                 else -> {
                     errorToJson(InternalServerErrorException.errorProperty, response)
-                    e.printStackTrace()
+                    Sentry.captureException(e)
                 }
             }
         }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/SecurityConfiguration.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/SecurityConfiguration.kt
index 982d2efee..b33500f17 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/SecurityConfiguration.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/SecurityConfiguration.kt
@@ -124,7 +124,7 @@ class SecurityConfiguration(
             .antMatchers(HttpMethod.GET, "/study-rooms/types").hasAnyAuthority(STUDENT.name, MANAGER.name)
             .antMatchers(HttpMethod.POST, "/study-rooms/types").hasAuthority(MANAGER.name)
             .antMatchers(HttpMethod.PUT, "/study-rooms/seats/{seat-id}").hasAuthority(STUDENT.name)
-            .antMatchers(HttpMethod.DELETE, "/study-rooms/seats").hasAuthority(STUDENT.name)
+            .antMatchers(HttpMethod.DELETE, "/study-rooms/seats/{seat-id}").hasAuthority(STUDENT.name)
             .antMatchers(HttpMethod.POST, "/study-rooms").hasAuthority(MANAGER.name)
             .antMatchers(HttpMethod.PATCH, "/study-rooms/{study-room-id}").hasAuthority(MANAGER.name)
             .antMatchers(HttpMethod.DELETE, "/study-rooms/{study-room-id}").hasAuthority(MANAGER.name)
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/error/SecurityErrorCode.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/error/SecurityErrorCode.kt
deleted file mode 100644
index 25476fc89..000000000
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/error/SecurityErrorCode.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package team.aliens.dms.global.security.error
-
-import team.aliens.dms.common.error.ErrorProperty
-
-enum class SecurityErrorCode(
-    private val status: Int,
-    private val message: String
-) : ErrorProperty {
-
-    INVALID_TOKEN(401, "Invalid Token"),
-    EXPIRED_TOKEN(401, "Expired Token"),
-    UNEXPECTED_TOKEN(401, "Unexpected Token"),
-    INVALID_ROLE(401, "Invalid Role"),
-
-    FORBIDDEN(403, "Can Not Access")
-    ;
-
-    override fun status(): Int = status
-    override fun message(): String = message
-}
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ExpiredTokenException.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ExpiredTokenException.kt
index 65127032e..ba06b8dfd 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ExpiredTokenException.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ExpiredTokenException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.global.security.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.global.security.error.SecurityErrorCode
+import team.aliens.dms.global.security.exception.error.SecurityErrorCode
 
 object ExpiredTokenException : DmsException(
     SecurityErrorCode.EXPIRED_TOKEN
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ForbiddenException.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ForbiddenException.kt
index 0c5db1c24..3672e1118 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ForbiddenException.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/ForbiddenException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.global.security.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.global.security.error.SecurityErrorCode
+import team.aliens.dms.global.security.exception.error.SecurityErrorCode
 
 object ForbiddenException : DmsException(
     SecurityErrorCode.FORBIDDEN
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidRoleException.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidRoleException.kt
index ef567f8ef..7393ffe89 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidRoleException.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidRoleException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.global.security.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.global.security.error.SecurityErrorCode
+import team.aliens.dms.global.security.exception.error.SecurityErrorCode
 
 object InvalidRoleException : DmsException(
     SecurityErrorCode.INVALID_ROLE
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidTokenException.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidTokenException.kt
index ae7b9a447..902fa8bd0 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidTokenException.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/InvalidTokenException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.global.security.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.global.security.error.SecurityErrorCode
+import team.aliens.dms.global.security.exception.error.SecurityErrorCode
 
 object InvalidTokenException : DmsException(
     SecurityErrorCode.INVALID_TOKEN
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/UnexpectedTokenException.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/UnexpectedTokenException.kt
index f670f83cf..319619ff1 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/UnexpectedTokenException.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/UnexpectedTokenException.kt
@@ -1,7 +1,7 @@
 package team.aliens.dms.global.security.exception
 
 import team.aliens.dms.common.error.DmsException
-import team.aliens.dms.global.security.error.SecurityErrorCode
+import team.aliens.dms.global.security.exception.error.SecurityErrorCode
 
 object UnexpectedTokenException : DmsException(
     SecurityErrorCode.UNEXPECTED_TOKEN
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/error/SecurityErrorCode.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/error/SecurityErrorCode.kt
new file mode 100644
index 000000000..05fd4a125
--- /dev/null
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/exception/error/SecurityErrorCode.kt
@@ -0,0 +1,22 @@
+package team.aliens.dms.global.security.exception.error
+
+import team.aliens.dms.common.error.ErrorProperty
+
+enum class SecurityErrorCode(
+    private val status: Int,
+    private val message: String,
+    private val sequence: Int
+) : ErrorProperty {
+
+    INVALID_TOKEN(401, "Invalid Token", 1),
+    EXPIRED_TOKEN(401, "Expired Token", 2),
+    UNEXPECTED_TOKEN(401, "Unexpected Token", 3),
+    INVALID_ROLE(401, "Invalid Role", 4),
+
+    FORBIDDEN(403, "Can Not Access", 1)
+    ;
+
+    override fun status(): Int = status
+    override fun message(): String = message
+    override fun code(): String = "SECURITY-$status-$sequence"
+}
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/ManagerDetailsService.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/ManagerDetailsService.kt
index 2a3948e2e..3c5b20de2 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/ManagerDetailsService.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/ManagerDetailsService.kt
@@ -1,21 +1,22 @@
 package team.aliens.dms.global.security.principle
 
-import org.springframework.data.repository.findByIdOrNull
 import org.springframework.security.core.userdetails.UserDetails
 import org.springframework.security.core.userdetails.UserDetailsService
 import org.springframework.stereotype.Component
+import team.aliens.dms.domain.manager.spi.QueryManagerPort
 import team.aliens.dms.global.security.exception.InvalidTokenException
-import team.aliens.dms.persistence.manager.repository.ManagerJpaRepository
 import java.util.UUID
 
 @Component
 class ManagerDetailsService(
-    private val managerRepository: ManagerJpaRepository
+    private val queryManagerPort: QueryManagerPort
 ) : UserDetailsService {
 
     override fun loadUserByUsername(username: String?): UserDetails {
-        val manager = managerRepository.findByIdOrNull(UUID.fromString(username)) ?: throw InvalidTokenException
-
-        return ManagerDetails(manager.id)
+        val managerId = UUID.fromString(username)
+        if (!queryManagerPort.existsManagerById(managerId)) {
+            throw InvalidTokenException
+        }
+        return ManagerDetails(managerId)
     }
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/StudentDetailsService.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/StudentDetailsService.kt
index 71728c7d2..bf9f61d9d 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/StudentDetailsService.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/principle/StudentDetailsService.kt
@@ -1,21 +1,22 @@
 package team.aliens.dms.global.security.principle
 
-import org.springframework.data.repository.findByIdOrNull
 import org.springframework.security.core.userdetails.UserDetails
 import org.springframework.security.core.userdetails.UserDetailsService
 import org.springframework.stereotype.Component
+import team.aliens.dms.domain.student.spi.QueryStudentPort
 import team.aliens.dms.global.security.exception.InvalidTokenException
-import team.aliens.dms.persistence.student.repository.StudentJpaRepository
 import java.util.UUID
 
 @Component
 class StudentDetailsService(
-    private val studentRepository: StudentJpaRepository
+    private val queryStudentPort: QueryStudentPort
 ) : UserDetailsService {
 
     override fun loadUserByUsername(username: String?): UserDetails {
-        val student = studentRepository.findByIdOrNull(UUID.fromString(username)) ?: throw InvalidTokenException
-
-        return StudentDetails(student.id)
+        val studentId = UUID.fromString(username)
+        if (!queryStudentPort.existsStudentById(studentId)) {
+            throw InvalidTokenException
+        }
+        return StudentDetails(studentId)
     }
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/token/GenerateJwtAdapter.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/token/GenerateJwtAdapter.kt
index 0340ae210..d19c9a0ba 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/token/GenerateJwtAdapter.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/security/token/GenerateJwtAdapter.kt
@@ -6,10 +6,10 @@ import io.jsonwebtoken.SignatureAlgorithm
 import org.springframework.stereotype.Component
 import team.aliens.dms.domain.auth.dto.TokenResponse
 import team.aliens.dms.domain.auth.model.Authority
+import team.aliens.dms.domain.auth.model.RefreshToken
+import team.aliens.dms.domain.auth.spi.CommandRefreshTokenPort
 import team.aliens.dms.domain.auth.spi.JwtPort
 import team.aliens.dms.global.security.SecurityProperties
-import team.aliens.dms.persistence.auth.entity.RefreshTokenEntity
-import team.aliens.dms.persistence.auth.repository.RefreshTokenRepository
 import java.time.LocalDateTime
 import java.util.Date
 import java.util.UUID
@@ -17,7 +17,7 @@ import java.util.UUID
 @Component
 class GenerateJwtAdapter(
     private val securityProperties: SecurityProperties,
-    private val refreshTokenRepository: RefreshTokenRepository
+    private val commandRefreshTokenPort: CommandRefreshTokenPort
 ) : JwtPort {
 
     override fun receiveToken(userId: UUID, authority: Authority) = TokenResponse(
@@ -45,13 +45,13 @@ class GenerateJwtAdapter(
             .setExpiration(Date(System.currentTimeMillis() + securityProperties.refreshExp * 1000))
             .compact()
 
-        val refreshToken = RefreshTokenEntity(
+        val refreshToken = RefreshToken(
             token = token,
             userId = userId,
             authority = authority,
             expirationTime = securityProperties.refreshExp
         )
-        refreshTokenRepository.save(refreshToken)
+        commandRefreshTokenPort.save(refreshToken)
 
         return token
     }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/api/error/OtherServerErrorCode.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/api/error/OtherServerErrorCode.kt
index 73238c77f..84d8e9606 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/api/error/OtherServerErrorCode.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/api/error/OtherServerErrorCode.kt
@@ -4,13 +4,15 @@ import team.aliens.dms.common.error.ErrorProperty
 
 enum class OtherServerErrorCode(
     private val status: Int,
-    private val message: String
+    private val message: String,
+    private val sequence: Int
 ) : ErrorProperty {
-    OTHER_SERVER_BAD_REQUEST(400, "Other Server Bad Request"),
-    OTHER_SERVER_UNAUTHORIZED(401, "Other Server Unauthorized"),
-    OTHER_SERVER_FORBIDDEN(403, "Other Server Forbidden")
+    OTHER_SERVER_BAD_REQUEST(400, "Other Server Bad Request", 1),
+    OTHER_SERVER_UNAUTHORIZED(401, "Other Server Unauthorized", 1),
+    OTHER_SERVER_FORBIDDEN(403, "Other Server Forbidden", 1)
     ;
 
     override fun status(): Int = status
     override fun message(): String = message
+    override fun code(): String = "THIRD-PARTY-$status-$sequence"
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapter.kt b/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapter.kt
index 5edbaf4b3..cf11b22c8 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapter.kt
+++ b/dms-infrastructure/src/main/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapter.kt
@@ -1,9 +1,5 @@
 package team.aliens.dms.thirdparty.parser
 
-import com.fasterxml.uuid.Generators
-import java.io.ByteArrayOutputStream
-import java.io.File
-import java.time.format.DateTimeFormatter
 import org.apache.poi.hssf.usermodel.HSSFWorkbook
 import org.apache.poi.ss.usermodel.Cell
 import org.apache.poi.ss.usermodel.CellStyle
@@ -31,6 +27,10 @@ import team.aliens.dms.domain.studyroom.model.TimeSlot
 import team.aliens.dms.domain.studyroom.spi.vo.StudentSeatInfo
 import team.aliens.dms.thirdparty.parser.exception.ExcelExtensionMismatchException
 import team.aliens.dms.thirdparty.parser.exception.ExcelInvalidFileException
+import java.io.ByteArrayOutputStream
+import java.io.File
+import java.time.format.DateTimeFormatter
+import java.util.UUID
 
 @Component
 class ExcelAdapter : ParseFilePort, WriteFilePort {
@@ -48,7 +48,7 @@ class ExcelAdapter : ParseFilePort, WriteFilePort {
 
                 val excelData = row.run {
                     VerifiedStudent(
-                        id = Generators.timeBasedGenerator().generate(),
+                        id = UUID.randomUUID(),
                         schoolName = schoolName,
                         gcn = Student.processGcn(
                             grade = getIntValue(0),
@@ -177,7 +177,7 @@ class ExcelAdapter : ParseFilePort, WriteFilePort {
                 row = row,
                 startIdx = columnCount,
                 datas = timeSlots.map { timeSlot ->
-                    studentSeats?.firstOrNull { it.timeSlotId == timeSlot.id }?.seatFullName
+                    studentSeats?.singleOrNull { it.timeSlotId == timeSlot.id }?.seatFullName
                 },
                 style = getDefaultCellStyle(workbook)
             )
@@ -216,12 +216,12 @@ class ExcelAdapter : ParseFilePort, WriteFilePort {
 
         val seatInfosList = studentSeats.map { studentSeat ->
             listOf(
-                studentSeat.grade.toString(),
-                studentSeat.classRoom.toString(),
-                studentSeat.number.toString(),
+                studentSeat.studentGrade.toString(),
+                studentSeat.studentClassRoom.toString(),
+                studentSeat.studentNumber.toString(),
                 studentSeat.studentName,
                 *timeSlots.map { timeSlot ->
-                    studentSeat.seats?.firstOrNull { it.timeSlotId == timeSlot.id }?.seatFullName
+                    studentSeat.seats?.singleOrNull { it.timeSlotId == timeSlot.id }?.seatFullName
                 }.toTypedArray()
             )
         }
diff --git a/dms-infrastructure/src/main/resources/application.yml b/dms-infrastructure/src/main/resources/application.yml
index 9a8ece09b..8b4a7f243 100644
--- a/dms-infrastructure/src/main/resources/application.yml
+++ b/dms-infrastructure/src/main/resources/application.yml
@@ -62,6 +62,10 @@ cloud:
     ses:
       source: ${SES_SENDER:asdf}
 
+sentry:
+  dsn: ${SENTRY_DSN:asdf}
+  traces-sample-rate: 1.0
+
 logging:
   level:
     com:
diff --git a/dms-infrastructure/src/test/kotlin/team/aliens/dms/.gitkeep b/dms-infrastructure/src/test/kotlin/team/aliens/dms/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dms-infrastructure/src/test/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapterTests.kt b/dms-infrastructure/src/test/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapterTests.kt
index 1f9cbf0d4..28890ecd0 100644
--- a/dms-infrastructure/src/test/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapterTests.kt
+++ b/dms-infrastructure/src/test/kotlin/team/aliens/dms/thirdparty/parser/ExcelAdapterTests.kt
@@ -3,9 +3,6 @@ package team.aliens.dms.thirdparty.parser
 import io.mockk.every
 import io.mockk.slot
 import io.mockk.spyk
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.util.UUID
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.assertAll
@@ -15,6 +12,9 @@ import team.aliens.dms.domain.remain.dto.StudentRemainInfo
 import team.aliens.dms.domain.student.model.Sex
 import team.aliens.dms.domain.studyroom.model.TimeSlot
 import team.aliens.dms.domain.studyroom.spi.vo.StudentSeatInfo
+import java.time.LocalDateTime
+import java.time.LocalTime
+import java.util.UUID
 
 class ExcelAdapterTests {
 
@@ -120,9 +120,9 @@ class ExcelAdapterTests {
         listOf(
             StudentSeatInfo(
                 studentName = "",
-                grade = 1,
-                classRoom = 2,
-                number = 3,
+                studentGrade = 1,
+                studentClassRoom = 2,
+                studentNumber = 3,
                 seats = listOf(
                     StudentSeatInfo.SeatInfo(
                         seatFullName = "",
diff --git a/dms-persistence/build.gradle.kts b/dms-persistence/build.gradle.kts
new file mode 100644
index 000000000..c15ad47f0
--- /dev/null
+++ b/dms-persistence/build.gradle.kts
@@ -0,0 +1,34 @@
+plugins {
+    kotlin("plugin.jpa") version PluginVersions.JPA_PLUGIN_VERSION
+    kotlin("plugin.spring") version PluginVersions.SPRING_PLUGIN_VERSION
+}
+
+dependencies {
+    // impl project
+    implementation(project(":dms-core"))
+
+    // database
+    implementation(Dependencies.SPRING_DATA_JPA)
+    runtimeOnly(Dependencies.MYSQL_CONNECTOR)
+    implementation(Dependencies.REDIS)
+    implementation(Dependencies.SPRING_REDIS)
+
+    // querydsl
+    implementation(Dependencies.QUERYDSL)
+    kapt(Dependencies.QUERYDSL_PROCESSOR)
+
+    // time based uuid
+    implementation(Dependencies.UUID_TIME)
+}
+
+allOpen {
+    annotation("javax.persistence.Entity")
+    annotation("javax.persistence.MappedSuperclass")
+    annotation("javax.persistence.Embeddable")
+}
+
+noArg {
+    annotation("javax.persistence.Entity")
+    annotation("javax.persistence.MappedSuperclass")
+    annotation("javax.persistence.Embeddable")
+}
\ No newline at end of file
diff --git a/dms-domain/config/detekt/detekt.yml b/dms-persistence/config/detekt/detekt.yml
similarity index 100%
rename from dms-domain/config/detekt/detekt.yml
rename to dms-persistence/config/detekt/detekt.yml
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/config/QuerydslConfig.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/global/config/QuerydslConfig.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/global/config/QuerydslConfig.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/global/config/QuerydslConfig.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt
similarity index 95%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt
index db27ae0be..ec5e47010 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/global/config/RedisConfig.kt
@@ -24,7 +24,7 @@ class RedisConfig(
 ) {
 
     @Bean
-    fun redisConnectionFactory(): RedisConnectionFactory? {
+    fun redisConnectionFactory(): RedisConnectionFactory {
         val redisConfig = RedisStandaloneConfiguration(redisHost, redisPort)
 
         if (redisPassword.isNotBlank()) {
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseTimeEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseTimeEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseTimeEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseTimeEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseUUIDEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseUUIDEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/BaseUUIDEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/BaseUUIDEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/GenericMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/GenericMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/GenericMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/GenericMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/TimeBasedUUIDGenerator.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/TimeBasedUUIDGenerator.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/TimeBasedUUIDGenerator.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/TimeBasedUUIDGenerator.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodeLimitPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodeLimitPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodeLimitPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodeLimitPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodePersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodePersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodePersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/AuthCodePersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt
similarity index 73%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt
index 6420bfadd..8306e9483 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/RefreshTokenPersistenceAdapter.kt
@@ -2,6 +2,7 @@ package team.aliens.dms.persistence.auth
 
 import org.springframework.data.repository.findByIdOrNull
 import org.springframework.stereotype.Component
+import team.aliens.dms.domain.auth.model.RefreshToken
 import team.aliens.dms.domain.auth.spi.RefreshTokenPort
 import team.aliens.dms.persistence.auth.mapper.RefreshTokenMapper
 import team.aliens.dms.persistence.auth.repository.RefreshTokenRepository
@@ -15,4 +16,10 @@ class RefreshTokenPersistenceAdapter(
     override fun queryRefreshTokenByToken(token: String) = refreshTokenMapper.toDomain(
         refreshTokenRepository.findByIdOrNull(token)
     )
+
+    override fun save(refreshToken: RefreshToken) = refreshTokenMapper.toDomain(
+        refreshTokenRepository.save(
+            refreshTokenMapper.toEntity(refreshToken)
+        )
+    )!!
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt
similarity index 83%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt
index 24020dc57..94bf814f3 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeEntity.kt
@@ -5,7 +5,6 @@ import org.springframework.data.redis.core.RedisHash
 import org.springframework.data.redis.core.TimeToLive
 import org.springframework.data.redis.core.index.Indexed
 import team.aliens.dms.domain.auth.model.EmailType
-import javax.validation.constraints.NotNull
 
 @RedisHash("tbl_authcode")
 data class AuthCodeEntity(
@@ -14,14 +13,11 @@ data class AuthCodeEntity(
     val code: String,
 
     @Indexed
-    @field:NotNull
     val email: String,
 
     @Indexed
-    @field:NotNull
     val type: EmailType,
 
-    @field:NotNull
     @TimeToLive
     val expirationTime: Int
 
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt
similarity index 81%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt
index 5098c8f13..7e2cc66a5 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/AuthCodeLimitEntity.kt
@@ -6,7 +6,6 @@ import org.springframework.data.redis.core.TimeToLive
 import org.springframework.data.redis.core.index.Indexed
 import team.aliens.dms.domain.auth.model.EmailType
 import java.util.UUID
-import javax.validation.constraints.NotNull
 
 @RedisHash("tbl_authcode_limit")
 class AuthCodeLimitEntity(
@@ -14,21 +13,16 @@ class AuthCodeLimitEntity(
     @Id
     val id: UUID,
 
-    @field:NotNull
     @field:Indexed
     val email: String,
 
-    @field:NotNull
     @field:Indexed
     val type: EmailType,
 
-    @field:NotNull
     val attemptCount: Int,
 
-    @field:NotNull
     val isVerified: Boolean,
 
-    @field:NotNull
     @TimeToLive
     val expirationTime: Int
 
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt
similarity index 82%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt
index 281a36114..50a23eecc 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/entity/RefreshTokenEntity.kt
@@ -5,7 +5,6 @@ import org.springframework.data.redis.core.RedisHash
 import org.springframework.data.redis.core.TimeToLive
 import team.aliens.dms.domain.auth.model.Authority
 import java.util.UUID
-import javax.validation.constraints.NotNull
 
 @RedisHash("tbl_refresh_token")
 data class RefreshTokenEntity(
@@ -13,13 +12,10 @@ data class RefreshTokenEntity(
     @Id
     val token: String,
 
-    @field:NotNull
     val userId: UUID,
 
-    @field:NotNull
     val authority: Authority,
 
-    @field:NotNull
     @TimeToLive
     val expirationTime: Int
 
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeLimitMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeLimitMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeLimitMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeLimitMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/AuthCodeMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/RefreshTokenMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/RefreshTokenMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/RefreshTokenMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/mapper/RefreshTokenMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeEntityRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeEntityRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeEntityRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeEntityRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeLimitRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeLimitRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeLimitRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/AuthCodeLimitRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/RefreshTokenRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/RefreshTokenRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/auth/repository/RefreshTokenRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/auth/repository/RefreshTokenRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt
similarity index 86%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt
index fb8c4bf7c..10ad461f5 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/ManagerPersistenceAdapter.kt
@@ -16,4 +16,7 @@ class ManagerPersistenceAdapter(
     override fun queryManagerById(managerId: UUID) = managerMapper.toDomain(
         managerRepository.findByIdOrNull(managerId)
     )
+
+    override fun existsManagerById(managerId: UUID) =
+        managerRepository.existsById(managerId)
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/entity/ManagerJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/entity/ManagerJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/entity/ManagerJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/entity/ManagerJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/mapper/ManagerMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/mapper/ManagerMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/mapper/ManagerMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/mapper/ManagerMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/repository/ManagerJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/repository/ManagerJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/manager/repository/ManagerJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/manager/repository/ManagerJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/MealPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/MealPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/MealPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/MealPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/entity/MealJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/entity/MealJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/entity/MealJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/entity/MealJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/mapper/MealMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/mapper/MealMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/mapper/MealMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/mapper/MealMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/repository/MealJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/repository/MealJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/meal/repository/MealJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/meal/repository/MealJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/NoticePersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/NoticePersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/NoticePersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/NoticePersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/entity/NoticeJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/entity/NoticeJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/entity/NoticeJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/entity/NoticeJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/mapper/NoticeMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/mapper/NoticeMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/mapper/NoticeMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/mapper/NoticeMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/repository/NoticeJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/repository/NoticeJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/notice/repository/NoticeJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/notice/repository/NoticeJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PhrasePersistenceAdapterStudent.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PhrasePersistenceAdapterStudent.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PhrasePersistenceAdapterStudent.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PhrasePersistenceAdapterStudent.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PointHistoryPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PointHistoryPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PointHistoryPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PointHistoryPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PointOptionPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PointOptionPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/PointOptionPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/PointOptionPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PhraseJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PhraseJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PhraseJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PhraseJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointFilterJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointFilterJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointFilterJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointFilterJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointHistoryJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointHistoryJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointHistoryJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointHistoryJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointOptionJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointOptionJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointOptionJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/entity/PointOptionJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PhraseMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PhraseMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PhraseMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PhraseMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointFilterMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointFilterMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointFilterMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointFilterMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointHistoryMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointHistoryMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointHistoryMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointHistoryMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointOptionMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointOptionMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointOptionMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/mapper/PointOptionMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PhraseJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PhraseJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PhraseJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PhraseJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointFilterJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointFilterJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointFilterJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointFilterJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointHistoryJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointHistoryJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointHistoryJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointHistoryJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointOptionJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointOptionJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointOptionJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/PointOptionJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryAllPointHistoryVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryAllPointHistoryVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryAllPointHistoryVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryAllPointHistoryVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryPointHistoryVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryPointHistoryVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryPointHistoryVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/point/repository/vo/QueryPointHistoryVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainAvailableTimePersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainAvailableTimePersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainAvailableTimePersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainAvailableTimePersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainOptionPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainOptionPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainOptionPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainOptionPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainStatusPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainStatusPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/RemainStatusPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/RemainStatusPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainAvailableTimeJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainAvailableTimeJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainAvailableTimeJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainAvailableTimeJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainOptionJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainOptionJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainOptionJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainOptionJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainStatusJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainStatusJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainStatusJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/entity/RemainStatusJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainAvailableTimeMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainAvailableTimeMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainAvailableTimeMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainAvailableTimeMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainOptionMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainOptionMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainOptionMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainOptionMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainStatusMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainStatusMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainStatusMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/mapper/RemainStatusMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainAvailableTimeJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainAvailableTimeJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainAvailableTimeJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainAvailableTimeJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainOptionJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainOptionJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainOptionJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainOptionJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainStatusJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainStatusJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainStatusJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/RemainStatusJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/vo/RemainStatusInfoVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/vo/RemainStatusInfoVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/remain/repository/vo/RemainStatusInfoVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/remain/repository/vo/RemainStatusInfoVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/RoomPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/RoomPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/RoomPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/RoomPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt
similarity index 96%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt
index cc62990bb..675257775 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/entity/RoomJpaEntity.kt
@@ -1,5 +1,7 @@
 package team.aliens.dms.persistence.room.entity
 
+import team.aliens.dms.persistence.BaseUUIDEntity
+import team.aliens.dms.persistence.school.entity.SchoolJpaEntity
 import java.util.UUID
 import javax.persistence.Column
 import javax.persistence.Entity
@@ -8,11 +10,10 @@ import javax.persistence.JoinColumn
 import javax.persistence.ManyToOne
 import javax.persistence.Table
 import javax.persistence.UniqueConstraint
-import team.aliens.dms.persistence.BaseUUIDEntity
-import team.aliens.dms.persistence.school.entity.SchoolJpaEntity
 
 @Entity
-@Table(name = "tbl_room",
+@Table(
+    name = "tbl_room",
     uniqueConstraints = [
         UniqueConstraint(columnNames = arrayOf("school_id", "number"))
     ]
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/mapper/RoomMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/mapper/RoomMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/mapper/RoomMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/mapper/RoomMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/repository/RoomJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/repository/RoomJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/room/repository/RoomJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/room/repository/RoomJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/SchoolPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/SchoolPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/SchoolPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/SchoolPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/entity/AvailableFeatureJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/entity/AvailableFeatureJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/entity/AvailableFeatureJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/entity/AvailableFeatureJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/entity/SchoolJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/entity/SchoolJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/entity/SchoolJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/entity/SchoolJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/mapper/AvailableFeatureMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/mapper/AvailableFeatureMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/mapper/AvailableFeatureMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/mapper/AvailableFeatureMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/mapper/SchoolMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/mapper/SchoolMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/mapper/SchoolMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/mapper/SchoolMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/repository/AvailableFeatureJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/repository/AvailableFeatureJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/repository/AvailableFeatureJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/repository/AvailableFeatureJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/repository/SchoolJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/repository/SchoolJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/school/repository/SchoolJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/school/repository/SchoolJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt
similarity index 97%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt
index 816fcc4f7..79727a797 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/StudentPersistenceAdapter.kt
@@ -11,7 +11,6 @@ import com.querydsl.core.types.dsl.CaseBuilder
 import com.querydsl.core.types.dsl.Expressions
 import com.querydsl.jpa.JPAExpressions.select
 import com.querydsl.jpa.impl.JPAQueryFactory
-import java.util.UUID
 import org.springframework.data.repository.findByIdOrNull
 import org.springframework.stereotype.Component
 import team.aliens.dms.domain.manager.dto.PointFilter
@@ -36,6 +35,7 @@ import team.aliens.dms.persistence.tag.entity.QStudentTagJpaEntity.studentTagJpa
 import team.aliens.dms.persistence.tag.entity.QTagJpaEntity.tagJpaEntity
 import team.aliens.dms.persistence.tag.mapper.TagMapper
 import team.aliens.dms.persistence.user.entity.QUserJpaEntity.userJpaEntity
+import java.util.UUID
 
 @Component
 class StudentPersistenceAdapter(
@@ -66,6 +66,9 @@ class StudentPersistenceAdapter(
         studentRepository.findByIdOrNull(studentId)
     )
 
+    override fun existsStudentById(studentId: UUID) =
+        studentRepository.existsById(studentId)
+
     override fun existsBySchoolIdAndGcnList(schoolId: UUID, gcnList: List<Triple<Int, Int, Int>>): Boolean {
         return queryFactory
             .selectFrom(studentJpaEntity)
@@ -127,11 +130,11 @@ class StudentPersistenceAdapter(
             .join(studentJpaEntity.user, userJpaEntity)
             .join(userJpaEntity.school, schoolJpaEntity)
             .leftJoin(studentTagJpaEntity)
-                .on(studentJpaEntity.id.eq(studentTagJpaEntity.student.id)).fetchJoin()
+            .on(studentJpaEntity.id.eq(studentTagJpaEntity.student.id)).fetchJoin()
             .leftJoin(tagJpaEntity)
-                .on(studentTagJpaEntity.tag.id.eq(tagJpaEntity.id))
+            .on(studentTagJpaEntity.tag.id.eq(tagJpaEntity.id))
             .leftJoin(pointHistoryJpaEntity)
-                .on(eqStudentRecentPointHistory())
+            .on(eqStudentRecentPointHistory())
             .where(
                 userJpaEntity.school.id.eq(schoolId),
                 nameContains(name),
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/VerifiedStudentPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/VerifiedStudentPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/VerifiedStudentPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/VerifiedStudentPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/entity/StudentJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/entity/StudentJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/entity/StudentJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/entity/StudentJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/entity/VerifiedStudentJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/entity/VerifiedStudentJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/entity/VerifiedStudentJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/entity/VerifiedStudentJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/mapper/StudentMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/mapper/StudentMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/mapper/StudentMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/mapper/StudentMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/mapper/VerifiedStudentMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/mapper/VerifiedStudentMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/mapper/VerifiedStudentMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/mapper/VerifiedStudentMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/StudentJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/StudentJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/StudentJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/StudentJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/VerifiedStudentJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/VerifiedStudentJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/VerifiedStudentJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/VerifiedStudentJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentWithPointVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentWithPointVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentWithPointVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentWithPointVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentsWithTagVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentsWithTagVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentsWithTagVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/student/repository/vo/QueryStudentsWithTagVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/AvailableTimePersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/AvailableTimePersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/AvailableTimePersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/AvailableTimePersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt
index 5dc5bba63..e7abaf596 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/SeatTypePersistenceAdapter.kt
@@ -1,7 +1,6 @@
 package team.aliens.dms.persistence.studyroom
 
 import com.querydsl.jpa.impl.JPAQueryFactory
-import java.util.UUID
 import org.springframework.data.repository.findByIdOrNull
 import org.springframework.stereotype.Component
 import team.aliens.dms.domain.studyroom.model.SeatType
@@ -11,6 +10,7 @@ import team.aliens.dms.persistence.studyroom.entity.QSeatTypeJpaEntity.seatTypeJ
 import team.aliens.dms.persistence.studyroom.entity.QStudyRoomJpaEntity.studyRoomJpaEntity
 import team.aliens.dms.persistence.studyroom.mapper.SeatTypeMapper
 import team.aliens.dms.persistence.studyroom.repository.SeatTypeJpaRepository
+import java.util.UUID
 
 @Component
 class SeatTypePersistenceAdapter(
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt
similarity index 97%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt
index 0c348c129..ee462a038 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/StudyRoomPersistenceAdapter.kt
@@ -3,8 +3,6 @@ package team.aliens.dms.persistence.studyroom
 import com.querydsl.core.types.Expression
 import com.querydsl.jpa.impl.JPAQuery
 import com.querydsl.jpa.impl.JPAQueryFactory
-import java.time.LocalTime
-import java.util.UUID
 import org.springframework.data.repository.findByIdOrNull
 import org.springframework.stereotype.Component
 import team.aliens.dms.domain.student.model.Sex
@@ -39,6 +37,8 @@ import team.aliens.dms.persistence.studyroom.repository.vo.QQuerySeatApplication
 import team.aliens.dms.persistence.studyroom.repository.vo.QQueryStudyRoomVO
 import team.aliens.dms.persistence.studyroom.repository.vo.QStudentSeatApplicationVO
 import team.aliens.dms.persistence.studyroom.repository.vo.QueryStudyRoomVO
+import java.time.LocalTime
+import java.util.UUID
 
 @Component
 class StudyRoomPersistenceAdapter(
@@ -67,7 +67,7 @@ class StudyRoomPersistenceAdapter(
         seatApplicationRepository.queryByStudentId(studentId)
             .map { seatApplicationMapper.toDomain(it)!! }
 
-    override fun querySeatApplicationByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID) = seatApplicationMapper.toDomain(
+    override fun querySeatApplicationsByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID) = seatApplicationMapper.toDomain(
         seatApplicationRepository.queryByStudentIdAndTimeSlotId(studentId, timeSlotId)
     )
 
@@ -279,6 +279,10 @@ class StudyRoomPersistenceAdapter(
         seatApplicationRepository.deleteByStudentIdAndTimeSlotId(studentId, timeSlotId)
     }
 
+    override fun deleteSeatApplicationBySeatIdAndStudentIdAndTimeSlotId(seatId: UUID, studentId: UUID, timeSlotId: UUID) {
+        seatApplicationRepository.deleteBySeatIdAndStudentIdAndTimeSlotId(seatId, studentId, timeSlotId)
+    }
+
     override fun deleteSeatApplicationByTimeSlotId(timeSlotId: UUID) {
         seatApplicationRepository.deleteByTimeSlotId(timeSlotId)
     }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/AvailableTimeJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/AvailableTimeJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/AvailableTimeJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/AvailableTimeJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatApplicationJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatApplicationJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatApplicationJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatApplicationJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatTypeJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatTypeJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatTypeJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/SeatTypeJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomTimeSlotJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomTimeSlotJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomTimeSlotJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/StudyRoomTimeSlotJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/TimeSlotJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/TimeSlotJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/TimeSlotJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/entity/TimeSlotJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/AvailableTimeMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/AvailableTimeMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/AvailableTimeMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/AvailableTimeMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatApplicationMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatApplicationMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatApplicationMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatApplicationMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatTypeMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatTypeMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatTypeMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/SeatTypeMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomTimeSlotMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomTimeSlotMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomTimeSlotMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/StudyRoomTimeSlotMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/TimeSlotMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/TimeSlotMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/TimeSlotMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/mapper/TimeSlotMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/AvailableTimeJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/AvailableTimeJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/AvailableTimeJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/AvailableTimeJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt
similarity index 89%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt
index d8d96a29c..0e22a2dff 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatApplicationJpaRepository.kt
@@ -1,10 +1,10 @@
 package team.aliens.dms.persistence.studyroom.repository
 
-import java.util.UUID
 import org.springframework.data.repository.CrudRepository
 import org.springframework.stereotype.Repository
 import team.aliens.dms.persistence.studyroom.entity.SeatApplicationJpaEntity
 import team.aliens.dms.persistence.studyroom.entity.SeatApplicationJpaEntityId
+import java.util.UUID
 
 @Repository
 interface SeatApplicationJpaRepository : CrudRepository<SeatApplicationJpaEntity, SeatApplicationJpaEntityId> {
@@ -19,5 +19,7 @@ interface SeatApplicationJpaRepository : CrudRepository<SeatApplicationJpaEntity
 
     fun deleteByStudentIdAndTimeSlotId(studentId: UUID, timeSlotId: UUID)
 
+    fun deleteBySeatIdAndStudentIdAndTimeSlotId(seatId: UUID, studentId: UUID, timeSlotId: UUID)
+
     fun deleteBySeatStudyRoomId(studyRoomId: UUID)
 }
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatTypeJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatTypeJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatTypeJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/SeatTypeJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt
index 5dc6bbd7c..f10ac952a 100644
--- a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt
+++ b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/StudyRoomTimeSlotJpaRepository.kt
@@ -1,9 +1,9 @@
 package team.aliens.dms.persistence.studyroom.repository
 
+import java.util.UUID
 import org.springframework.data.repository.CrudRepository
 import team.aliens.dms.persistence.studyroom.entity.StudyRoomTimeSlotJpaEntity
 import team.aliens.dms.persistence.studyroom.entity.StudyRoomTimeSlotJpaEntityId
-import java.util.UUID
 
 interface StudyRoomTimeSlotJpaRepository : CrudRepository<StudyRoomTimeSlotJpaEntity, StudyRoomTimeSlotJpaEntityId> {
 
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/TimeSlotJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/TimeSlotJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/TimeSlotJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/TimeSlotJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QuerySeatApplicationVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QuerySeatApplicationVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QuerySeatApplicationVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QuerySeatApplicationVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QueryStudyRoomVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QueryStudyRoomVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QueryStudyRoomVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/QueryStudyRoomVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/StudentSeatApplicationVO.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/StudentSeatApplicationVO.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/StudentSeatApplicationVO.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/studyroom/repository/vo/StudentSeatApplicationVO.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/StudentTagPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/StudentTagPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/StudentTagPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/StudentTagPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/TagPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/TagPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/TagPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/TagPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/entity/StudentTagJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/entity/StudentTagJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/entity/StudentTagJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/entity/StudentTagJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/entity/TagJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/entity/TagJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/entity/TagJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/entity/TagJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/StudentTagMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/StudentTagMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/StudentTagMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/StudentTagMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/TagMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/TagMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/TagMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/mapper/TagMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/repository/StudentTagJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/repository/StudentTagJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/repository/StudentTagJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/repository/StudentTagJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/repository/TagJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/repository/TagJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/tag/repository/TagJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/tag/repository/TagJpaRepository.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/UserPersistenceAdapter.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/UserPersistenceAdapter.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/UserPersistenceAdapter.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/UserPersistenceAdapter.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/entity/UserJpaEntity.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/entity/UserJpaEntity.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/entity/UserJpaEntity.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/entity/UserJpaEntity.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/mapper/UserMapper.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/mapper/UserMapper.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/mapper/UserMapper.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/mapper/UserMapper.kt
diff --git a/dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/repository/UserJpaRepository.kt b/dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/repository/UserJpaRepository.kt
similarity index 100%
rename from dms-infrastructure/src/main/kotlin/team/aliens/dms/persistence/user/repository/UserJpaRepository.kt
rename to dms-persistence/src/main/kotlin/team/aliens/dms/persistence/user/repository/UserJpaRepository.kt
diff --git a/dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/service/.gitkeep b/dms-persistence/src/test/kotlin/team/aliens/dms/.gitkeep
similarity index 100%
rename from dms-domain/src/main/kotlin/team/aliens/dms/domain/auth/service/.gitkeep
rename to dms-persistence/src/test/kotlin/team/aliens/dms/.gitkeep
diff --git a/dms-presentation/build.gradle.kts b/dms-presentation/build.gradle.kts
index 8964a6ec8..c1dec1a64 100644
--- a/dms-presentation/build.gradle.kts
+++ b/dms-presentation/build.gradle.kts
@@ -6,7 +6,7 @@ plugins {
 
 dependencies {
     // impl project
-    implementation(project(":dms-application"))
+    implementation(project(":dms-core"))
 
     // web
     implementation(Dependencies.SPRING_WEB)
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/common/extension/FileExtension.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/common/extension/FileExtension.kt
index a9bdf5d2a..13096ea42 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/common/extension/FileExtension.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/common/extension/FileExtension.kt
@@ -1,15 +1,15 @@
 package team.aliens.dms.common.extension
 
+import org.springframework.http.HttpHeaders
+import org.springframework.web.multipart.MultipartFile
 import java.io.File
 import java.io.FileOutputStream
 import java.net.URLEncoder
 import java.util.UUID
 import javax.servlet.http.HttpServletResponse
-import org.springframework.http.HttpHeaders
-import org.springframework.web.multipart.MultipartFile
 
 fun MultipartFile.toFile() =
-    File("${UUID.randomUUID()}||${originalFilename}").let {
+    File("${UUID.randomUUID()}||$originalFilename").let {
         FileOutputStream(it).run {
             this.write(bytes)
             this.close()
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/AuthWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/AuthWebAdapter.kt
index e635e5446..524f8dd3a 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/AuthWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/AuthWebAdapter.kt
@@ -47,23 +47,23 @@ class AuthWebAdapter(
     fun singIn(@RequestBody @Valid request: SignInWebRequest): SignInResponse {
         return signInUseCase.execute(
             SignInRequest(
-                accountId = request.accountId!!,
-                password = request.password!!
+                accountId = request.accountId,
+                password = request.password
             )
         )
     }
 
     @GetMapping("/code")
     fun certifyEmailCode(
-        @RequestParam @Email @NotBlank email: String?,
-        @RequestParam("auth_code") @Length(min = 6, max = 6) @NotBlank authCode: String?,
-        @RequestParam @NotNull type: WebEmailType?
+        @RequestParam @Email @NotBlank email: String,
+        @RequestParam("auth_code") @Length(min = 6, max = 6) @NotBlank authCode: String,
+        @RequestParam @NotNull type: WebEmailType
     ) {
         certifyEmailCodeUseCase.execute(
             CertifyEmailCodeRequest(
-                email = email!!,
-                authCode = authCode!!,
-                type = type!!.name
+                email = email,
+                authCode = authCode,
+                type = type.name
             )
         )
     }
@@ -72,21 +72,21 @@ class AuthWebAdapter(
     fun sendEmailCode(@RequestBody @Valid request: SendEmailCodeWebRequest) {
         sendEmailCodeUseCase.execute(
             SendEmailCodeRequest(
-                email = request.email!!,
-                type = request.type!!.name
+                email = request.email,
+                type = request.type.name
             )
         )
     }
 
     @GetMapping("/email")
     fun certifyEmail(
-        @RequestParam("account_id") @NotBlank accountId: String?,
-        @RequestParam @Email @NotBlank email: String?
+        @RequestParam("account_id") @NotBlank accountId: String,
+        @RequestParam @Email @NotBlank email: String
     ) {
         certifyEmailUseCase.execute(
             CertifyEmailRequest(
-                accountId = accountId!!,
-                email = email!!
+                accountId = accountId,
+                email = email
             )
         )
     }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SendEmailCodeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SendEmailCodeWebRequest.kt
index e516a9915..45c602b70 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SendEmailCodeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SendEmailCodeWebRequest.kt
@@ -10,9 +10,9 @@ data class SendEmailCodeWebRequest(
     @field:NotBlank
     @field:Size(max = 255)
     @field:Email
-    val email: String?,
+    val email: String,
 
     @field:NotNull
-    val type: WebEmailType?
+    val type: WebEmailType
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SignInWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SignInWebRequest.kt
index 720456225..041b0a081 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SignInWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/auth/dto/request/SignInWebRequest.kt
@@ -7,10 +7,10 @@ data class SignInWebRequest(
 
     @field:NotBlank
     @field:Size(min = 4, max = 20)
-    val accountId: String?,
+    val accountId: String,
 
     @field:NotBlank
     @field:Size(min = 8, max = 20)
-    val password: String?
+    val password: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/file/FileWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/file/FileWebAdapter.kt
index fc56efc25..c7ddd464d 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/file/FileWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/file/FileWebAdapter.kt
@@ -1,6 +1,5 @@
 package team.aliens.dms.domain.file
 
-import javax.validation.constraints.NotNull
 import org.springframework.http.HttpStatus
 import org.springframework.validation.annotation.Validated
 import org.springframework.web.bind.annotation.GetMapping
@@ -17,6 +16,7 @@ import team.aliens.dms.domain.file.dto.response.UploadFileResponse
 import team.aliens.dms.domain.file.usecase.GetFileUploadUrlUseCase
 import team.aliens.dms.domain.file.usecase.ImportVerifiedStudentUseCase
 import team.aliens.dms.domain.file.usecase.UploadFileUseCase
+import javax.validation.constraints.NotNull
 
 @Validated
 @RequestMapping("/files")
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/ManagerWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/ManagerWebAdapter.kt
index fe9e9a37f..4e78b0cf9 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/ManagerWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/ManagerWebAdapter.kt
@@ -59,10 +59,10 @@ class ManagerWebAdapter(
     @PatchMapping("/password/initialization")
     fun resetPassword(@RequestBody @Valid webRequest: ResetPasswordManagerWebRequest) {
         val request = ResetManagerPasswordRequest(
-            accountId = webRequest.accountId!!,
-            email = webRequest.email!!,
-            authCode = webRequest.authCode!!,
-            newPassword = webRequest.newPassword!!
+            accountId = webRequest.accountId,
+            email = webRequest.email,
+            authCode = webRequest.authCode,
+            newPassword = webRequest.newPassword
         )
 
         resetManagerPasswordUseCase.execute(request)
@@ -71,7 +71,7 @@ class ManagerWebAdapter(
     @GetMapping("/students")
     fun getStudents(
         @RequestParam(required = false) name: String?,
-        @RequestParam @NotNull sort: Sort?,
+        @RequestParam @NotNull sort: Sort,
         @RequestParam(name = "filter_type", required = false) filterType: PointFilterType?,
         @RequestParam(name = "min_point", required = false) minPoint: Int?,
         @RequestParam(name = "max_point", required = false) maxPoint: Int?,
@@ -79,7 +79,7 @@ class ManagerWebAdapter(
     ): QueryStudentsResponse {
         return queryStudentsUseCase.execute(
             name = name,
-            sort = sort!!,
+            sort = sort,
             filterType = filterType,
             minPoint = minPoint,
             maxPoint = maxPoint,
@@ -88,14 +88,14 @@ class ManagerWebAdapter(
     }
 
     @GetMapping("/students/{student-id}")
-    fun getStudentDetails(@PathVariable("student-id") @NotNull studentId: UUID?): GetStudentDetailsResponse {
-        return queryStudentDetailsUseCase.execute(studentId!!)
+    fun getStudentDetails(@PathVariable("student-id") @NotNull studentId: UUID): GetStudentDetailsResponse {
+        return queryStudentDetailsUseCase.execute(studentId)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/students/{student-id}")
-    fun deleteStudent(@PathVariable("student-id") @NotNull studentId: UUID?) {
-        removeStudentUseCase.execute(studentId!!)
+    fun deleteStudent(@PathVariable("student-id") @NotNull studentId: UUID) {
+        removeStudentUseCase.execute(studentId)
     }
 
     @GetMapping("/profile")
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/dto/request/ResetPasswordManagerWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/dto/request/ResetPasswordManagerWebRequest.kt
index c435cd2a9..627dae6fe 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/dto/request/ResetPasswordManagerWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/manager/dto/request/ResetPasswordManagerWebRequest.kt
@@ -9,16 +9,16 @@ data class ResetPasswordManagerWebRequest(
 
     @field:NotBlank
     @field:Size(min = 4, max = 20)
-    val accountId: String?,
+    val accountId: String,
 
     @field:NotBlank
     @field:Size(max = 255)
     @field:Email
-    val email: String?,
+    val email: String,
 
     @field:NotBlank
     @field:Size(min = 6, max = 6, message = "인증코드는 8글자 이여야 합니다")
-    val authCode: String?,
+    val authCode: String,
 
     @field:NotBlank
     @field:Size(min = 8, max = 20)
@@ -26,6 +26,6 @@ data class ResetPasswordManagerWebRequest(
         regexp = Password.PATTERN,
         message = Password.MESSAGE
     )
-    val newPassword: String?
+    val newPassword: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/meal/MealWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/meal/MealWebAdapter.kt
index f85e127f4..b74c034ee 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/meal/MealWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/meal/MealWebAdapter.kt
@@ -19,7 +19,7 @@ class MealWebAdapter(
 ) {
 
     @GetMapping("/{date}")
-    fun getMeals(@PathVariable("date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @NotNull mealDate: LocalDate?): QueryMealsResponse {
-        return queryMealsUseCase.execute(mealDate!!)
+    fun getMeals(@PathVariable("date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @NotNull mealDate: LocalDate): QueryMealsResponse {
+        return queryMealsUseCase.execute(mealDate)
     }
 }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/NoticeWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/NoticeWebAdapter.kt
index 4b8fe103e..c7b7d39ca 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/NoticeWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/NoticeWebAdapter.kt
@@ -50,31 +50,31 @@ class NoticeWebAdapter(
     }
 
     @GetMapping("/{notice-id}")
-    fun getDetails(@PathVariable("notice-id") @NotNull noticeId: UUID?): QueryNoticeDetailsResponse {
-        return queryNoticeDetailsUseCase.execute(noticeId!!)
+    fun getDetails(@PathVariable("notice-id") @NotNull noticeId: UUID): QueryNoticeDetailsResponse {
+        return queryNoticeDetailsUseCase.execute(noticeId)
     }
 
     @GetMapping
-    fun queryAllNotices(@RequestParam("order") @NotNull orderType: WebOrderType?): QueryAllNoticesResponse {
-        return queryAllNoticesUseCase.execute(orderType!!.name)
+    fun queryAllNotices(@RequestParam("order") @NotNull orderType: WebOrderType): QueryAllNoticesResponse {
+        return queryAllNoticesUseCase.execute(orderType.name)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/{notice-id}")
-    fun removeNotice(@PathVariable("notice-id") @NotNull noticeId: UUID?) {
-        removeNoticeUseCase.execute(noticeId!!)
+    fun removeNotice(@PathVariable("notice-id") @NotNull noticeId: UUID) {
+        removeNoticeUseCase.execute(noticeId)
     }
 
     @PatchMapping("/{notice-id}")
     fun updateNotice(
-        @PathVariable("notice-id") @NotNull noticeId: UUID?,
+        @PathVariable("notice-id") @NotNull noticeId: UUID,
         @RequestBody @Valid request: UpdateNoticeWebRequest
     ): UpdateNoticeResponse {
         return UpdateNoticeResponse(
             updateNoticeUseCase.execute(
-                noticeId = noticeId!!,
-                title = request.title!!,
-                content = request.content!!
+                noticeId = noticeId,
+                title = request.title,
+                content = request.content
             )
         )
     }
@@ -84,8 +84,8 @@ class NoticeWebAdapter(
     fun createNotice(@RequestBody @Valid request: CreateNoticeWebRequest): CreateNoticeResponse {
         return CreateNoticeResponse(
             createNoticeUseCase.execute(
-                title = request.title!!,
-                content = request.content!!
+                title = request.title,
+                content = request.content
             )
         )
     }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/CreateNoticeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/CreateNoticeWebRequest.kt
index c73402196..ff0c7959d 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/CreateNoticeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/CreateNoticeWebRequest.kt
@@ -7,10 +7,10 @@ data class CreateNoticeWebRequest(
 
     @field:NotBlank
     @field:Size(max = 100)
-    val title: String?,
+    val title: String,
 
     @field:NotBlank
     @field:Size(max = 1000)
-    val content: String?
+    val content: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/UpdateNoticeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/UpdateNoticeWebRequest.kt
index 6922f2b80..5903344d9 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/UpdateNoticeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/notice/dto/request/UpdateNoticeWebRequest.kt
@@ -7,10 +7,10 @@ data class UpdateNoticeWebRequest(
 
     @field:NotBlank
     @field:Size(max = 100)
-    val title: String?,
+    val title: String,
 
     @field:NotBlank
     @field:Size(max = 1000)
-    val content: String?
+    val content: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/PointWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/PointWebAdapter.kt
index d3c8fba93..0c6bc53f5 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/PointWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/PointWebAdapter.kt
@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestParam
 import org.springframework.web.bind.annotation.ResponseStatus
 import org.springframework.web.bind.annotation.RestController
 import team.aliens.dms.common.dto.PageData
-import team.aliens.dms.common.dto.PageWebData
 import team.aliens.dms.common.extension.setExcelContentDisposition
 import team.aliens.dms.domain.point.dto.CreatePointOptionRequest
 import team.aliens.dms.domain.point.dto.CreatePointOptionResponse
@@ -63,10 +62,10 @@ class PointWebAdapter(
 
     @GetMapping
     fun getPointHistory(
-        @RequestParam @NotNull type: PointRequestType?,
+        @RequestParam @NotNull type: PointRequestType,
         @ModelAttribute pageData: PageData
     ): QueryPointHistoryResponse {
-        return queryPointHistoryUseCase.execute(type!!, pageData)
+        return queryPointHistoryUseCase.execute(type, pageData)
     }
 
     @ResponseStatus(HttpStatus.CREATED)
@@ -74,29 +73,29 @@ class PointWebAdapter(
     fun createPointOption(@RequestBody @Valid request: CreatePointOptionWebRequest): CreatePointOptionResponse {
         return createPointOptionUseCase.execute(
             CreatePointOptionRequest(
-                name = request.name!!,
-                score = request.score!!,
-                type = request.type!!.name
+                name = request.name,
+                score = request.score,
+                type = request.type.name
             )
         )
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/options/{point-option-id}")
-    fun removePointOption(@PathVariable(name = "point-option-id") @NotNull pointOptionId: UUID?) {
-        removePointOptionUseCase.execute(pointOptionId!!)
+    fun removePointOption(@PathVariable(name = "point-option-id") @NotNull pointOptionId: UUID) {
+        removePointOptionUseCase.execute(pointOptionId)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/options/{point-option-id}")
     fun updatePointOption(
-        @PathVariable(name = "point-option-id") @NotNull pointOptionId: UUID?,
+        @PathVariable(name = "point-option-id") @NotNull pointOptionId: UUID,
         @RequestBody @Valid webRequest: UpdatePointOptionWebRequest
     ) {
         updatePointOptionUseCase.execute(
-            pointOptionId = pointOptionId!!,
-            name = webRequest.name!!,
-            score = webRequest.score!!
+            pointOptionId = pointOptionId,
+            name = webRequest.name,
+            score = webRequest.score
         )
     }
 
@@ -105,19 +104,19 @@ class PointWebAdapter(
     fun grantPoint(@RequestBody @Valid webRequest: GrantPointWebRequest) {
         grantPointUseCase.execute(
             GrantPointRequest(
-                pointOptionId = webRequest.pointOptionId!!,
-                studentIdList = webRequest.studentIdList!!
+                pointOptionId = webRequest.pointOptionId,
+                studentIdList = webRequest.studentIdList
             )
         )
     }
 
     @GetMapping("/history")
     fun getPointHistories(
-        @RequestParam @NotNull type: PointRequestType?,
-        @ModelAttribute pageData: PageWebData
+        @RequestParam @NotNull type: PointRequestType,
+        @ModelAttribute pageData: PageData
     ): QueryAllPointHistoryResponse {
         return queryAllPointHistoryUseCase.execute(
-            type = type!!,
+            type = type,
             pageData = PageData(pageData.page, pageData.size)
         )
     }
@@ -125,8 +124,8 @@ class PointWebAdapter(
     @GetMapping("/history/file")
     fun exportAllPointHistory(
         httpResponse: HttpServletResponse,
-        @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) start: LocalDateTime?,
-        @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) end: LocalDateTime?
+        @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) start: LocalDateTime,
+        @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) end: LocalDateTime
     ): ByteArray {
         val response = exportAllPointHistoryUseCase.execute(start, end)
         httpResponse.setExcelContentDisposition(response.fileName)
@@ -135,8 +134,8 @@ class PointWebAdapter(
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PutMapping("/history/{point-history-id}")
-    fun cancelGrantedPoint(@PathVariable("point-history-id") @NotNull pointHistoryId: UUID?) {
-        cancelGrantedPointUseCase.execute(pointHistoryId!!)
+    fun cancelGrantedPoint(@PathVariable("point-history-id") @NotNull pointHistoryId: UUID) {
+        cancelGrantedPointUseCase.execute(pointHistoryId)
     }
 
     @GetMapping("/options")
@@ -146,9 +145,9 @@ class PointWebAdapter(
 
     @GetMapping("/history/students/{student-id}")
     fun getStudentsPointHistory(
-        @PathVariable("student-id") @NotNull studentId: UUID?,
+        @PathVariable("student-id") @NotNull studentId: UUID,
         @ModelAttribute pageData: PageData
     ): QueryStudentPointHistoryResponse {
-        return queryStudentPointHistoryUseCase.execute(studentId!!, pageData)
+        return queryStudentPointHistoryUseCase.execute(studentId, pageData)
     }
 }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/CreatePointOptionWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/CreatePointOptionWebRequest.kt
index 8386ebb01..60dc5ae94 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/CreatePointOptionWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/CreatePointOptionWebRequest.kt
@@ -7,11 +7,11 @@ import javax.validation.constraints.Size
 data class CreatePointOptionWebRequest(
     @field:NotBlank
     @field:Size(max = 20)
-    val name: String?,
+    val name: String,
 
     @field:NotNull
-    val score: Int?,
+    val score: Int,
 
     @field:NotNull
-    val type: WebPointType?
+    val type: WebPointType
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/GrantPointWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/GrantPointWebRequest.kt
index 2ccd5db41..a78a7cc08 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/GrantPointWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/GrantPointWebRequest.kt
@@ -6,8 +6,8 @@ import javax.validation.constraints.NotNull
 
 data class GrantPointWebRequest(
     @field:NotNull
-    val pointOptionId: UUID?,
+    val pointOptionId: UUID,
 
     @field:NotNullElements
-    val studentIdList: List<UUID>?
+    val studentIdList: List<UUID>
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/UpdatePointOptionWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/UpdatePointOptionWebRequest.kt
index 077550a43..78b36902c 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/UpdatePointOptionWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/point/dto/request/UpdatePointOptionWebRequest.kt
@@ -7,8 +7,8 @@ import javax.validation.constraints.Size
 data class UpdatePointOptionWebRequest(
     @field:NotBlank
     @field:Size(max = 20)
-    val name: String?,
+    val name: String,
 
     @field:NotNull
-    val score: Int?
+    val score: Int
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/RemainWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/RemainWebAdapter.kt
index 041b1b6f1..160a358af 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/RemainWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/RemainWebAdapter.kt
@@ -51,16 +51,16 @@ class RemainWebAdapter(
 ) {
 
     @PutMapping("/{remain-option-id}")
-    fun applyRemainOption(@PathVariable("remain-option-id") @NotNull remainOptionId: UUID?) {
-        applyRemainUseCase.execute(remainOptionId!!)
+    fun applyRemainOption(@PathVariable("remain-option-id") @NotNull remainOptionId: UUID) {
+        applyRemainUseCase.execute(remainOptionId)
     }
 
     @ResponseStatus(HttpStatus.CREATED)
     @PostMapping("/options")
     fun createRemainOption(@RequestBody @Valid request: CreateRemainOptionWebRequest): CreateRemainOptionResponse {
         val remainOptionId = createRemainOptionUseCase.execute(
-            title = request.title!!,
-            description = request.description!!
+            title = request.title,
+            description = request.description
         )
         return CreateRemainOptionResponse(remainOptionId)
     }
@@ -68,13 +68,13 @@ class RemainWebAdapter(
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/options/{remain-option-id}")
     fun updateRemainOption(
-        @PathVariable("remain-option-id") @NotNull remainOptionId: UUID?,
+        @PathVariable("remain-option-id") @NotNull remainOptionId: UUID,
         @RequestBody @Valid request: UpdateRemainOptionWebRequest
     ) {
         updateRemainOptionUseCase.execute(
-            remainOptionId = remainOptionId!!,
-            title = request.title!!,
-            description = request.description!!
+            remainOptionId = remainOptionId,
+            title = request.title,
+            description = request.description
         )
     }
 
@@ -95,18 +95,18 @@ class RemainWebAdapter(
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/options/{remain-option-id}")
-    fun removeRemainOption(@PathVariable("remain-option-id") @NotNull remainOptionId: UUID?) {
-        removeRemainOptionUseCase.execute(remainOptionId!!)
+    fun removeRemainOption(@PathVariable("remain-option-id") @NotNull remainOptionId: UUID) {
+        removeRemainOptionUseCase.execute(remainOptionId)
     }
 
     @PutMapping("/available-time")
     fun updateRemainAvailableTime(@RequestBody @Valid request: UpdateRemainAvailableTimeWebRequest) {
         updateRemainAvailableTimeUseCase.execute(
             UpdateRemainAvailableTimeRequest(
-                startDayOfWeek = request.startDayOfWeek!!,
-                startTime = request.startTime!!,
-                endDayOfWeek = request.endDayOfWeek!!,
-                endTime = request.endTime!!
+                startDayOfWeek = request.startDayOfWeek,
+                startTime = request.startTime,
+                endDayOfWeek = request.endDayOfWeek,
+                endTime = request.endTime
             )
         )
     }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/CreateRemainOptionWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/CreateRemainOptionWebRequest.kt
index 3d43cb0e9..617b14a1a 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/CreateRemainOptionWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/CreateRemainOptionWebRequest.kt
@@ -7,10 +7,10 @@ data class CreateRemainOptionWebRequest(
 
     @field:NotBlank
     @field:Size(max = 100)
-    val title: String?,
+    val title: String,
 
     @field:NotBlank
     @field:Size(max = 255)
-    val description: String?
+    val description: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainAvailableTimeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainAvailableTimeWebRequest.kt
index 08e08aa79..12752a296 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainAvailableTimeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainAvailableTimeWebRequest.kt
@@ -7,15 +7,15 @@ import javax.validation.constraints.NotNull
 data class UpdateRemainAvailableTimeWebRequest(
 
     @field:NotNull
-    val startDayOfWeek: DayOfWeek?,
+    val startDayOfWeek: DayOfWeek,
 
     @field:NotNull
-    val startTime: LocalTime?,
+    val startTime: LocalTime,
 
     @field:NotNull
-    val endDayOfWeek: DayOfWeek?,
+    val endDayOfWeek: DayOfWeek,
 
     @field:NotNull
-    val endTime: LocalTime?
+    val endTime: LocalTime
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainOptionWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainOptionWebRequest.kt
index 83d021d9e..a9b7d9ce7 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainOptionWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/remain/dto/request/UpdateRemainOptionWebRequest.kt
@@ -7,9 +7,9 @@ data class UpdateRemainOptionWebRequest(
 
     @field:NotBlank
     @field:Size(max = 100)
-    val title: String?,
+    val title: String,
 
     @field:NotBlank
     @field:Size(max = 255)
-    val description: String?
+    val description: String
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/SchoolWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/SchoolWebAdapter.kt
index f36c09fb6..8c37edfe3 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/SchoolWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/SchoolWebAdapter.kt
@@ -49,28 +49,28 @@ class SchoolWebAdapter(
     }
 
     @GetMapping("/question/{school-id}")
-    fun getQuestion(@PathVariable("school-id") @NotNull schoolId: UUID?): SchoolQuestionResponse {
-        val result = querySchoolQuestionUseCase.execute(schoolId!!)
+    fun getQuestion(@PathVariable("school-id") @NotNull schoolId: UUID): SchoolQuestionResponse {
+        val result = querySchoolQuestionUseCase.execute(schoolId)
 
         return SchoolQuestionResponse(result)
     }
 
     @GetMapping("/answer/{school-id}")
     fun checkAnswer(
-        @PathVariable("school-id") @NotNull schoolId: UUID?,
-        @RequestParam @NotBlank answer: String?
+        @PathVariable("school-id") @NotNull schoolId: UUID,
+        @RequestParam @NotBlank answer: String
     ) {
         checkSchoolAnswerUseCase.execute(
-            schoolId = schoolId!!,
-            answer = answer!!
+            schoolId = schoolId,
+            answer = answer
         )
     }
 
     @GetMapping("/code")
     fun checkCode(
-        @RequestParam("school_code") @NotBlank @Size(max = 8) schoolCode: String?
+        @RequestParam("school_code") @NotBlank @Size(max = 8) schoolCode: String
     ): SchoolIdResponse {
-        val result = checkSchoolCodeUseCase.execute(schoolCode!!)
+        val result = checkSchoolCodeUseCase.execute(schoolCode)
 
         return SchoolIdResponse(result)
     }
@@ -91,8 +91,8 @@ class SchoolWebAdapter(
     @PatchMapping("/question")
     fun updateQuestion(@RequestBody @Valid webRequest: UpdateQuestionWebRequest) {
         val request = UpdateQuestionRequest(
-            question = webRequest.question!!,
-            answer = webRequest.answer!!
+            question = webRequest.question,
+            answer = webRequest.answer
         )
 
         updateQuestionUseCase.execute(request)
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/dto/request/UpdateQuestionWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/dto/request/UpdateQuestionWebRequest.kt
index df73a5328..dcdd6ea77 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/dto/request/UpdateQuestionWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/school/dto/request/UpdateQuestionWebRequest.kt
@@ -7,10 +7,10 @@ data class UpdateQuestionWebRequest(
 
     @field:NotBlank
     @field:Size(max = 100)
-    val question: String?,
+    val question: String,
 
     @field:NotBlank
     @field:Size(max = 100)
-    val answer: String?
+    val answer: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/StudentWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/StudentWebAdapter.kt
index a2840caa6..243af564f 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/StudentWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/StudentWebAdapter.kt
@@ -57,15 +57,15 @@ class StudentWebAdapter(
     @PostMapping("/signup")
     fun signUp(@RequestBody @Valid request: SignUpWebRequest): SignUpResponse {
         val signUpRequest = SignUpRequest(
-            schoolCode = request.schoolCode!!,
-            schoolAnswer = request.schoolAnswer!!,
-            email = request.email!!,
-            authCode = request.authCode!!,
-            grade = request.grade!!,
-            classRoom = request.classRoom!!,
-            number = request.number!!,
-            accountId = request.accountId!!,
-            password = request.password!!,
+            schoolCode = request.schoolCode,
+            schoolAnswer = request.schoolAnswer,
+            email = request.email,
+            authCode = request.authCode,
+            grade = request.grade,
+            classRoom = request.classRoom,
+            number = request.number,
+            accountId = request.accountId,
+            password = request.password,
             profileImageUrl = request.profileImageUrl
         )
 
@@ -73,31 +73,31 @@ class StudentWebAdapter(
     }
 
     @GetMapping("/email/duplication")
-    fun checkDuplicatedEmail(@RequestParam @Email @NotBlank email: String?) {
-        checkDuplicatedEmailUseCase.execute(email!!)
+    fun checkDuplicatedEmail(@RequestParam @Email @NotBlank email: String) {
+        checkDuplicatedEmailUseCase.execute(email)
     }
 
     @GetMapping("/account-id/duplication")
-    fun checkDuplicatedAccountId(@RequestParam("account_id") @NotBlank accountId: String?) {
-        checkDuplicatedAccountIdUseCase.execute(accountId!!)
+    fun checkDuplicatedAccountId(@RequestParam("account_id") @NotBlank accountId: String) {
+        checkDuplicatedAccountIdUseCase.execute(accountId)
     }
 
     @GetMapping("/account-id/{school-id}")
     fun findAccountId(
-        @PathVariable("school-id") @NotNull schoolId: UUID?,
-        @RequestParam @NotBlank name: String?,
-        @RequestParam @NotNull grade: Int?,
-        @RequestParam("class_room") @NotNull classRoom: Int?,
-        @RequestParam @NotNull number: Int?
+        @PathVariable("school-id") @NotNull schoolId: UUID,
+        @RequestParam @NotBlank name: String,
+        @RequestParam @NotNull grade: Int,
+        @RequestParam("class_room") @NotNull classRoom: Int,
+        @RequestParam @NotNull number: Int
     ): FindStudentAccountIdResponse {
         val request = FindStudentAccountIdRequest(
-            name = name!!,
-            grade = grade!!,
-            classRoom = classRoom!!,
-            number = number!!
+            name = name,
+            grade = grade,
+            classRoom = classRoom,
+            number = number
         )
 
-        val result = findStudentAccountIdUseCase.execute(schoolId!!, request)
+        val result = findStudentAccountIdUseCase.execute(schoolId, request)
 
         return FindStudentAccountIdResponse(result)
     }
@@ -106,11 +106,11 @@ class StudentWebAdapter(
     @PatchMapping("/password/initialization")
     fun resetPassword(@RequestBody @Valid webRequest: ResetStudentPasswordWebRequest) {
         val request = ResetStudentPasswordRequest(
-            accountId = webRequest.accountId!!,
-            name = webRequest.name!!,
-            email = webRequest.email!!,
-            authCode = webRequest.authCode!!,
-            newPassword = webRequest.newPassword!!
+            accountId = webRequest.accountId,
+            name = webRequest.name,
+            email = webRequest.email,
+            authCode = webRequest.authCode,
+            newPassword = webRequest.newPassword
         )
 
         resetStudentPasswordUseCase.execute(request)
@@ -118,16 +118,16 @@ class StudentWebAdapter(
 
     @GetMapping("/name")
     fun checkGcn(
-        @RequestParam("school_id") @NotNull schoolId: UUID?,
-        @RequestParam @NotNull grade: Int?,
-        @RequestParam("class_room") @NotNull classRoom: Int?,
-        @RequestParam @NotNull number: Int?
+        @RequestParam("school_id") @NotNull schoolId: UUID,
+        @RequestParam @NotNull grade: Int,
+        @RequestParam("class_room") @NotNull classRoom: Int,
+        @RequestParam @NotNull number: Int
     ): CheckStudentGcnResponse {
         val request = CheckStudentGcnRequest(
-            schoolId = schoolId!!,
-            grade = grade!!,
-            classRoom = classRoom!!,
-            number = number!!
+            schoolId = schoolId,
+            grade = grade,
+            classRoom = classRoom,
+            number = number
         )
 
         val result = checkStudentGcnUseCase.execute(request)
@@ -138,7 +138,7 @@ class StudentWebAdapter(
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/profile")
     fun updateProfile(@RequestBody @Valid webRequest: UpdateStudentProfileWebRequest) {
-        updateStudentProfileUseCase.execute(webRequest.profileImageUrl!!)
+        updateStudentProfileUseCase.execute(webRequest.profileImageUrl)
     }
 
     @GetMapping("/profile")
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/ResetStudentPasswordWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/ResetStudentPasswordWebRequest.kt
index 329945dc7..7e9ab8091 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/ResetStudentPasswordWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/ResetStudentPasswordWebRequest.kt
@@ -10,20 +10,20 @@ data class ResetStudentPasswordWebRequest(
 
     @field:NotBlank
     @field:Size(min = 4, max = 20)
-    val accountId: String?,
+    val accountId: String,
 
     @field:NotBlank
     @field:Size(max = 10)
-    val name: String?,
+    val name: String,
 
     @field:NotBlank
     @field:Size(max = 255)
     @field:Email
-    val email: String?,
+    val email: String,
 
     @field:NotBlank
     @field:Size(min = 6, max = 6, message = "인증코드는 8글자 이여야 합니다.")
-    val authCode: String?,
+    val authCode: String,
 
     @field:NotBlank
     @field:Size(min = 8, max = 20)
@@ -31,6 +31,6 @@ data class ResetStudentPasswordWebRequest(
         regexp = Password.PATTERN,
         message = Password.MESSAGE
     )
-    val newPassword: String?
+    val newPassword: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/SignUpWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/SignUpWebRequest.kt
index 2e78b8e81..ff51c6e72 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/SignUpWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/SignUpWebRequest.kt
@@ -13,37 +13,37 @@ data class SignUpWebRequest(
 
     @field:NotBlank
     @field:Size(min = 8, max = 8, message = "학교 코드는 8글자 이여야 합니다")
-    val schoolCode: String?,
+    val schoolCode: String,
 
     @field:NotBlank
     @field:Size(max = 100)
-    val schoolAnswer: String?,
+    val schoolAnswer: String,
 
     @field:NotBlank
     @field:Email
     @field:Size(max = 255)
-    val email: String?,
+    val email: String,
 
     @field:NotBlank
     @field:Size(min = 6, max = 6, message = "인증 코드는 6글자 이여야 합니다")
-    val authCode: String?,
+    val authCode: String,
 
     @field:NotNull
     @field:Min(1)
     @field:Max(6)
-    val grade: Int?,
+    val grade: Int,
 
     @field:NotNull
     @field:Min(1)
-    val classRoom: Int?,
+    val classRoom: Int,
 
     @field:NotNull
     @field:Min(1)
-    val number: Int?,
+    val number: Int,
 
     @field:NotBlank
     @field:Size(min = 4, max = 20)
-    val accountId: String?,
+    val accountId: String,
 
     @field:NotBlank
     @field:Pattern(
@@ -51,7 +51,7 @@ data class SignUpWebRequest(
         message = Password.MESSAGE
     )
     @field:Size(min = 8, max = 20)
-    val password: String?,
+    val password: String,
 
     @field:Size(max = 500)
     val profileImageUrl: String?
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/UpdateStudentProfileWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/UpdateStudentProfileWebRequest.kt
index 543e58d1d..5acf9df70 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/UpdateStudentProfileWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/student/dto/request/UpdateStudentProfileWebRequest.kt
@@ -7,6 +7,6 @@ data class UpdateStudentProfileWebRequest(
 
     @field:NotBlank
     @field:Size(max = 500)
-    val profileImageUrl: String?
+    val profileImageUrl: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/StudyRoomWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/StudyRoomWebAdapter.kt
index f4a39055d..ac25ff2ea 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/StudyRoomWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/StudyRoomWebAdapter.kt
@@ -1,9 +1,5 @@
 package team.aliens.dms.domain.studyroom
 
-import java.util.UUID
-import javax.servlet.http.HttpServletResponse
-import javax.validation.Valid
-import javax.validation.constraints.NotNull
 import org.springframework.http.HttpStatus
 import org.springframework.validation.annotation.Validated
 import org.springframework.web.bind.annotation.DeleteMapping
@@ -59,6 +55,10 @@ import team.aliens.dms.domain.studyroom.usecase.UnApplySeatUseCase
 import team.aliens.dms.domain.studyroom.usecase.UpdateAvailableTimeUseCase
 import team.aliens.dms.domain.studyroom.usecase.UpdateStudyRoomUseCase
 import team.aliens.dms.domain.studyroom.usecase.UpdateTimeSlotUseCase
+import java.util.UUID
+import javax.servlet.http.HttpServletResponse
+import javax.validation.Valid
+import javax.validation.constraints.NotNull
 
 @Validated
 @RequestMapping("/study-rooms")
@@ -95,8 +95,8 @@ class StudyRoomWebAdapter(
     @PutMapping("/available-time")
     fun updateAvailableTime(@RequestBody @Valid request: UpdateAvailableTimeWebRequest) {
         updateAvailableTimeUseCase.execute(
-            startAt = request.startAt!!,
-            endAt = request.endAt!!
+            startAt = request.startAt,
+            endAt = request.endAt
         )
     }
 
@@ -109,27 +109,30 @@ class StudyRoomWebAdapter(
     @PostMapping("/types")
     fun createSeatType(@RequestBody @Valid request: CreateSeatTypeWebRequest) {
         return createSeatTypeUseCase.execute(
-            name = request.name!!,
-            color = request.color!!
+            name = request.name,
+            color = request.color
         )
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PutMapping("/seats/{seat-id}")
     fun applySeat(
-        @PathVariable("seat-id") @NotNull seatId: UUID?,
-        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?
+        @PathVariable("seat-id") @NotNull seatId: UUID,
+        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID
     ) {
         return applySeatUseCase.execute(
-            seatId = seatId!!,
-            timeSlotId = timeSlotId!!
+            seatId = seatId,
+            timeSlotId = timeSlotId
         )
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
-    @DeleteMapping("/seats")
-    fun unApplySeat(@RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?) {
-        unApplySeatUseCase.execute(timeSlotId!!)
+    @DeleteMapping("/seats/{seat-id}")
+    fun unApplySeat(
+        @PathVariable("seat-id") @NotNull seatId: UUID,
+        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID
+    ) {
+        unApplySeatUseCase.execute(seatId, timeSlotId)
     }
 
     @ResponseStatus(HttpStatus.CREATED)
@@ -138,24 +141,24 @@ class StudyRoomWebAdapter(
         val studyRoomId = createStudyRoomUseCase.execute(
             request.run {
                 CreateStudyRoomRequest(
-                    floor = floor!!,
-                    name = name!!,
-                    totalWidthSize = totalWidthSize!!,
-                    totalHeightSize = totalHeightSize!!,
-                    eastDescription = eastDescription!!,
-                    westDescription = westDescription!!,
-                    southDescription = southDescription!!,
-                    northDescription = northDescription!!,
-                    availableSex = availableSex!!.name,
-                    availableGrade = availableGrade!!,
-                    timeSlotIds = timeSlotIds!!,
+                    floor = floor,
+                    name = name,
+                    totalWidthSize = totalWidthSize,
+                    totalHeightSize = totalHeightSize,
+                    eastDescription = eastDescription,
+                    westDescription = westDescription,
+                    southDescription = southDescription,
+                    northDescription = northDescription,
+                    availableSex = availableSex.name,
+                    availableGrade = availableGrade,
+                    timeSlotIds = timeSlotIds,
                     seats = seats.map {
                         CreateStudyRoomRequest.SeatRequest(
-                            widthLocation = it.widthLocation!!,
-                            heightLocation = it.heightLocation!!,
+                            widthLocation = it.widthLocation,
+                            heightLocation = it.heightLocation,
                             number = it.number,
                             typeId = it.typeId,
-                            status = it.status!!.name
+                            status = it.status.name
                         )
                     }
                 )
@@ -168,31 +171,31 @@ class StudyRoomWebAdapter(
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/{study-room-id}")
     fun updateStudyRoom(
-        @PathVariable("study-room-id") @NotNull studyRoomId: UUID?,
+        @PathVariable("study-room-id") @NotNull studyRoomId: UUID,
         @RequestBody @Valid request: UpdateStudyRoomWebRequest
     ) {
         updateStudyRoomUseCase.execute(
-            studyRoomId!!,
+            studyRoomId,
             request.run {
                 UpdateStudyRoomRequest(
-                    floor = floor!!,
-                    name = name!!,
-                    totalWidthSize = totalWidthSize!!,
-                    totalHeightSize = totalHeightSize!!,
-                    eastDescription = eastDescription!!,
-                    westDescription = westDescription!!,
-                    southDescription = southDescription!!,
-                    northDescription = northDescription!!,
-                    availableSex = availableSex!!.name,
-                    availableGrade = availableGrade!!,
-                    timeSlotIds = timeSlotIds!!,
+                    floor = floor,
+                    name = name,
+                    totalWidthSize = totalWidthSize,
+                    totalHeightSize = totalHeightSize,
+                    eastDescription = eastDescription,
+                    westDescription = westDescription,
+                    southDescription = southDescription,
+                    northDescription = northDescription,
+                    availableSex = availableSex.name,
+                    availableGrade = availableGrade,
+                    timeSlotIds = timeSlotIds,
                     seats = seats.map {
                         UpdateStudyRoomRequest.SeatRequest(
-                            widthLocation = it.widthLocation!!,
-                            heightLocation = it.heightLocation!!,
+                            widthLocation = it.widthLocation,
+                            heightLocation = it.heightLocation,
                             number = it.number,
                             typeId = it.typeId,
-                            status = it.status!!.name
+                            status = it.status.name
                         )
                     }
                 )
@@ -202,46 +205,46 @@ class StudyRoomWebAdapter(
 
     @GetMapping("/{study-room-id}/students")
     fun studentGetStudyRoom(
-        @PathVariable("study-room-id") @NotNull studyRoomId: UUID?,
-        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?
+        @PathVariable("study-room-id") @NotNull studyRoomId: UUID,
+        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID
     ): StudentQueryStudyRoomResponse {
         return studentQueryStudyRoomUseCase.execute(
-            studyRoomId = studyRoomId!!,
-            timeSlotId = timeSlotId!!
+            studyRoomId = studyRoomId,
+            timeSlotId = timeSlotId
         )
     }
 
     @GetMapping("/{study-room-id}/managers")
     fun managerGetStudyRoom(
-        @PathVariable("study-room-id") @NotNull studyRoomId: UUID?,
-        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?
+        @PathVariable("study-room-id") @NotNull studyRoomId: UUID,
+        @RequestParam(name = "time_slot") @NotNull timeSlotId: UUID
     ): ManagerQueryStudyRoomResponse {
         return managerQueryStudyRoomUseCase.execute(
-            studyRoomId = studyRoomId!!,
-            timeSlotId = timeSlotId!!
+            studyRoomId = studyRoomId,
+            timeSlotId = timeSlotId
         )
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/{study-room-id}")
-    fun removeStudyRoom(@PathVariable("study-room-id") @NotNull studyRoomId: UUID?) {
-        removeStudyRoomUseCase.execute(studyRoomId!!)
+    fun removeStudyRoom(@PathVariable("study-room-id") @NotNull studyRoomId: UUID) {
+        removeStudyRoomUseCase.execute(studyRoomId)
     }
 
     @GetMapping("/list/students")
-    fun studentGetStudyRooms(@RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?): StudentQueryStudyRoomsResponse {
-        return studentQueryStudyRoomsUseCase.execute(timeSlotId!!)
+    fun studentGetStudyRooms(@RequestParam(name = "time_slot") @NotNull timeSlotId: UUID): StudentQueryStudyRoomsResponse {
+        return studentQueryStudyRoomsUseCase.execute(timeSlotId)
     }
 
     @GetMapping("/list/managers")
-    fun managerGetStudyRooms(@RequestParam(name = "time_slot") @NotNull timeSlotId: UUID?): ManagerQueryStudyRoomsResponse {
-        return managerQueryStudyRoomsUseCase.execute(timeSlotId!!)
+    fun managerGetStudyRooms(@RequestParam(name = "time_slot") @NotNull timeSlotId: UUID): ManagerQueryStudyRoomsResponse {
+        return managerQueryStudyRoomsUseCase.execute(timeSlotId)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/types/{type-id}")
-    fun removeSeatType(@PathVariable("type-id") @NotNull seatTypeId: UUID?) {
-        return removeSeatTypeUseCase.execute(seatTypeId!!)
+    fun removeSeatType(@PathVariable("type-id") @NotNull seatTypeId: UUID) {
+        return removeSeatTypeUseCase.execute(seatTypeId)
     }
 
     @GetMapping("/my")
@@ -259,27 +262,27 @@ class StudyRoomWebAdapter(
     fun createTimeSlotUseCase(
         @RequestBody @Valid request: CreateTimeSlotWebRequest
     ): CreateTimeSlotWebResponse {
-        val id = createTimeSlotUseCase.execute(request.startTime!!, request.endTime!!)
+        val id = createTimeSlotUseCase.execute(request.startTime, request.endTime)
         return CreateTimeSlotWebResponse(id)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/time-slots/{time-slot-id}")
     fun updateTimeSlot(
-        @PathVariable("time-slot-id") @NotNull timeSlotId: UUID?,
+        @PathVariable("time-slot-id") @NotNull timeSlotId: UUID,
         @RequestBody @Valid request: UpdateTimeSlotWebRequest
     ) {
         updateTimeSlotUseCase.execute(
-            timeSlotId = timeSlotId!!,
-            startTime = request.startTime!!,
-            endTime = request.endTime!!
+            timeSlotId = timeSlotId,
+            startTime = request.startTime,
+            endTime = request.endTime
         )
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/time-slots/{time-slot-id}")
-    fun removeTimeSlot(@PathVariable("time-slot-id") @NotNull timeSlotId: UUID?) {
-        removeTimeSlotUseCase.execute(timeSlotId!!)
+    fun removeTimeSlot(@PathVariable("time-slot-id") @NotNull timeSlotId: UUID) {
+        removeTimeSlotUseCase.execute(timeSlotId)
     }
 
     @PostMapping("/students/file")
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateSeatTypeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateSeatTypeWebRequest.kt
index 77a7e896f..b6d76f065 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateSeatTypeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateSeatTypeWebRequest.kt
@@ -7,10 +7,10 @@ data class CreateSeatTypeWebRequest(
 
     @field:NotBlank
     @field:Size(max = 20)
-    val name: String?,
+    val name: String,
 
     @field:Size(min = 7, max = 7, message = "색깔은 7글자 이여야 합니다")
     @field:NotBlank
-    val color: String?
+    val color: String
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomWebRequest.kt
index 034e46cbe..f3bcb3e64 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateStudyRoomWebRequest.kt
@@ -12,46 +12,46 @@ data class CreateStudyRoomWebRequest(
 
     @field:NotNull
     @field:Min(1)
-    val floor: Int?,
+    val floor: Int,
 
     @field:NotBlank
     @field:Size(max = 10)
-    val name: String?,
+    val name: String,
 
     @field:NotNull
     @field:Min(0)
-    val totalWidthSize: Int?,
+    val totalWidthSize: Int,
 
     @field:NotNull
     @field:Min(0)
-    val totalHeightSize: Int?,
+    val totalHeightSize: Int,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val eastDescription: String?,
+    val eastDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val westDescription: String?,
+    val westDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val southDescription: String?,
+    val southDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val northDescription: String?,
+    val northDescription: String,
 
     @field:NotNull
-    val availableSex: WebSex?,
+    val availableSex: WebSex,
 
     @field:NotNull
     @field:Min(0)
-    val availableGrade: Int?,
+    val availableGrade: Int,
 
     @field:Size(min = 1)
     @field:NotNullElements
-    val timeSlotIds: List<UUID>?,
+    val timeSlotIds: List<UUID>,
 
     @field:Valid
     val seats: List<SeatRequest>
@@ -62,18 +62,18 @@ data class CreateStudyRoomWebRequest(
 
         @field:NotNull
         @field:Min(0)
-        val widthLocation: Int?,
+        val widthLocation: Int,
 
         @field:NotNull
         @field:Min(0)
-        val heightLocation: Int?,
+        val heightLocation: Int,
 
         val number: Int?,
 
         val typeId: UUID?,
 
         @field:NotNull
-        val status: WebSeatStatus?
+        val status: WebSeatStatus
 
     )
 }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateTimeSlotWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateTimeSlotWebRequest.kt
index 175647d45..df2441ff1 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateTimeSlotWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/CreateTimeSlotWebRequest.kt
@@ -6,8 +6,8 @@ import javax.validation.constraints.NotNull
 data class CreateTimeSlotWebRequest(
 
     @field:NotNull
-    val startTime: LocalTime?,
+    val startTime: LocalTime,
 
     @field:NotNull
-    val endTime: LocalTime?
+    val endTime: LocalTime
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateAvailableTimeWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateAvailableTimeWebRequest.kt
index 5d43c1a6d..aabab4720 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateAvailableTimeWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateAvailableTimeWebRequest.kt
@@ -6,9 +6,9 @@ import javax.validation.constraints.NotNull
 data class UpdateAvailableTimeWebRequest(
 
     @field:NotNull
-    val startAt: LocalTime?,
+    val startAt: LocalTime,
 
     @field:NotNull
-    val endAt: LocalTime?
+    val endAt: LocalTime
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomWebRequest.kt
index 32f17c5fa..6e06cefd2 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateStudyRoomWebRequest.kt
@@ -12,46 +12,46 @@ data class UpdateStudyRoomWebRequest(
 
     @field:NotNull
     @field:Min(1)
-    val floor: Int?,
+    val floor: Int,
 
     @field:NotBlank
     @field:Size(max = 10)
-    val name: String?,
+    val name: String,
 
     @field:NotNull
     @field:Min(0)
-    val totalWidthSize: Int?,
+    val totalWidthSize: Int,
 
     @field:NotNull
     @field:Min(0)
-    val totalHeightSize: Int?,
+    val totalHeightSize: Int,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val eastDescription: String?,
+    val eastDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val westDescription: String?,
+    val westDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val southDescription: String?,
+    val southDescription: String,
 
     @field:NotBlank
     @field:Size(max = 20)
-    val northDescription: String?,
+    val northDescription: String,
 
     @field:NotNull
-    val availableSex: WebSex?,
+    val availableSex: WebSex,
 
     @field:NotNull
     @field:Min(0)
-    val availableGrade: Int?,
+    val availableGrade: Int,
 
     @field:Size(min = 1)
     @field:NotNullElements
-    val timeSlotIds: List<UUID>?,
+    val timeSlotIds: List<UUID>,
 
     @field:Valid
     val seats: List<SeatRequest>
@@ -62,18 +62,18 @@ data class UpdateStudyRoomWebRequest(
 
         @field:NotNull
         @field:Min(0)
-        val widthLocation: Int?,
+        val widthLocation: Int,
 
         @field:NotNull
         @field:Min(0)
-        val heightLocation: Int?,
+        val heightLocation: Int,
 
         val number: Int?,
 
         val typeId: UUID?,
 
         @field:NotNull
-        val status: WebSeatStatus?
+        val status: WebSeatStatus
 
     )
 }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateTimeSlotWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateTimeSlotWebRequest.kt
index f7b7be8d8..4736ca726 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateTimeSlotWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/studyroom/dto/UpdateTimeSlotWebRequest.kt
@@ -6,8 +6,8 @@ import javax.validation.constraints.NotNull
 data class UpdateTimeSlotWebRequest(
 
     @field:NotNull
-    val startTime: LocalTime?,
+    val startTime: LocalTime,
 
     @field:NotNull
-    val endTime: LocalTime?
+    val endTime: LocalTime
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/TagWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/TagWebAdapter.kt
index 35a013b59..1881fbd39 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/TagWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/TagWebAdapter.kt
@@ -47,19 +47,19 @@ class TagWebAdapter(
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/{tag-id}")
-    fun removeTag(@PathVariable("tag-id") @NotNull tagId: UUID?) {
-        removeTagUseCase.execute(tagId!!)
+    fun removeTag(@PathVariable("tag-id") @NotNull tagId: UUID) {
+        removeTagUseCase.execute(tagId)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @DeleteMapping("/students")
     fun cancelGrantedTag(
-        @RequestParam(name = "student_id") @NotNull studentId: UUID?,
-        @RequestParam(name = "tag_id") @NotNull tagId: UUID?
+        @RequestParam(name = "student_id") @NotNull studentId: UUID,
+        @RequestParam(name = "tag_id") @NotNull tagId: UUID
     ) {
         cancelGrantedTagUseCase.execute(
-            studentId = studentId!!,
-            tagId = tagId!!
+            studentId = studentId,
+            tagId = tagId
         )
     }
 
@@ -68,8 +68,8 @@ class TagWebAdapter(
     fun grantTag(@RequestBody @Valid request: GrantTagWebRequest) {
         grantTagUseCase.execute(
             GrantTagRequest(
-                tagId = request.tagId!!,
-                studentIds = request.studentIds!!
+                tagId = request.tagId,
+                studentIds = request.studentIds
             )
         )
     }
@@ -78,8 +78,8 @@ class TagWebAdapter(
     @PostMapping
     fun createTag(@RequestBody @Valid webRequest: CreateTagWebRequest): CreateTagWebResponse {
         val tagId = createTagUseCase.execute(
-            name = webRequest.name!!,
-            color = webRequest.color!!
+            name = webRequest.name,
+            color = webRequest.color
         )
 
         return CreateTagWebResponse(tagId)
@@ -89,12 +89,12 @@ class TagWebAdapter(
     @PatchMapping("/{tag-id}")
     fun updateTag(
         @RequestBody @Valid webRequest: UpdateTagWebRequest,
-        @PathVariable("tag-id") @NotNull tagId: UUID?
+        @PathVariable("tag-id") @NotNull tagId: UUID
     ) {
         updateTagUseCase.execute(
-            tagId = tagId!!,
-            newName = webRequest.name!!,
-            newColor = webRequest.color!!
+            tagId = tagId,
+            newName = webRequest.name,
+            newColor = webRequest.color
         )
     }
 }
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/CreateTagWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/CreateTagWebRequest.kt
index 92b4efb8d..e6d963e13 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/CreateTagWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/CreateTagWebRequest.kt
@@ -6,9 +6,9 @@ import javax.validation.constraints.Size
 data class CreateTagWebRequest(
     @field:NotBlank
     @field:Size(max = 10)
-    val name: String?,
+    val name: String,
 
     @field:NotBlank
     @field:Size(min = 7, max = 7)
-    val color: String?
+    val color: String
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagWebRequest.kt
index 67808e3aa..27f27eda4 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/GrantTagWebRequest.kt
@@ -7,9 +7,9 @@ import javax.validation.constraints.NotNull
 data class GrantTagWebRequest(
 
     @field:NotNull
-    val tagId: UUID?,
+    val tagId: UUID,
 
     @field:NotNullElements
-    val studentIds: List<UUID>?
+    val studentIds: List<UUID>
 
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/UpdateTagWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/UpdateTagWebRequest.kt
index 14a3697aa..d87d2b3de 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/UpdateTagWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/tag/dto/UpdateTagWebRequest.kt
@@ -6,9 +6,9 @@ import javax.validation.constraints.Size
 data class UpdateTagWebRequest(
     @field:NotBlank
     @field:Size(max = 10)
-    val name: String?,
+    val name: String,
 
     @field:NotBlank
     @field:Size(min = 7, max = 7)
-    val color: String?
+    val color: String
 )
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/UserWebAdapter.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/UserWebAdapter.kt
index 9cf77a6ca..468503021 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/UserWebAdapter.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/UserWebAdapter.kt
@@ -25,16 +25,16 @@ class UserWebAdapter(
 ) {
 
     @GetMapping("/password")
-    fun passwordCompare(@RequestParam @NotBlank password: String?) {
-        userPasswordCompareUseCase.execute(password!!)
+    fun passwordCompare(@RequestParam @NotBlank password: String) {
+        userPasswordCompareUseCase.execute(password)
     }
 
     @ResponseStatus(HttpStatus.NO_CONTENT)
     @PatchMapping("/password")
     fun updatePassword(@RequestBody @Valid webRequest: UpdateUserPasswordWebRequest) {
         val request = UpdateUserPasswordRequest(
-            currentPassword = webRequest.currentPassword!!,
-            newPassword = webRequest.newPassword!!
+            currentPassword = webRequest.currentPassword,
+            newPassword = webRequest.newPassword
         )
 
         updateUserPasswordUseCase.execute(request)
diff --git a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/dto/request/UpdateUserPasswordWebRequest.kt b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/dto/request/UpdateUserPasswordWebRequest.kt
index f90164e8d..27e14ef7f 100644
--- a/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/dto/request/UpdateUserPasswordWebRequest.kt
+++ b/dms-presentation/src/main/kotlin/team/aliens/dms/domain/user/dto/request/UpdateUserPasswordWebRequest.kt
@@ -4,13 +4,12 @@ import team.aliens.dms.domain.manager.dto.request.Password
 import javax.validation.constraints.NotBlank
 import javax.validation.constraints.Pattern
 import javax.validation.constraints.Size
-import kotlin.math.min
 
 data class UpdateUserPasswordWebRequest(
 
     @field:NotBlank
     @field:Size(min = 8, max = 20)
-    val currentPassword: String?,
+    val currentPassword: String,
 
     @field:NotBlank
     @field:Size(min = 8, max = 20)
@@ -18,6 +17,6 @@ data class UpdateUserPasswordWebRequest(
         regexp = Password.PATTERN,
         message = Password.MESSAGE
     )
-    val newPassword: String?
+    val newPassword: String
 
 )
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e58d4c0ea..68624b7da 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,6 +1,6 @@
 rootProject.name = "DMS-Backend"
 
-include("dms-application")
-include("dms-domain")
+include("dms-core")
+include("dms-persistence")
 include("dms-infrastructure")
 include("dms-presentation")
\ No newline at end of file