Skip to content

Commit

Permalink
Domain 설계
Browse files Browse the repository at this point in the history
  • Loading branch information
eun-zin committed Sep 24, 2023
1 parent 96654fc commit 4b1bb11
Show file tree
Hide file tree
Showing 24 changed files with 199 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 32 additions & 21 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,45 @@ plugins {
id("org.springframework.boot") version "3.1.3"
id("io.spring.dependency-management") version "1.1.3"
kotlin("jvm") version "1.8.22"
kotlin("plugin.spring") version "1.8.22"
kotlin("plugin.spring") version "1.8.22" apply false
}

group = "at"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_17

java {
sourceCompatibility = JavaVersion.VERSION_17
}
allprojects {
group = "at.voyagers"
version = "0.0.1-SNAPSHOT"

repositories {
mavenCentral()
repositories {
mavenCentral()
}
}

dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
subprojects {
apply(plugin = "org.springframework.boot")
apply(plugin = "io.spring.dependency-management")
apply(plugin = "org.jetbrains.kotlin.plugin.spring")
apply(plugin = "kotlin")

dependencies {
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-web")

implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "17"
testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "17"
}
}
}

tasks.withType<Test> {
useJUnitPlatform()
tasks.withType<Test> {
useJUnitPlatform()
}
}
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
rootProject.name = "voyagers"
include("domain")
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package at.voyagers.healthcheck
package at.voyagers.api

import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
Expand Down
8 changes: 8 additions & 0 deletions src/main/kotlin/at/voyagers/common/account/domain/Account.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package at.voyagers.common.account.domain

data class Account(
val id: String,
val email: String,
val password: String,
val role: AccountRole,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package at.voyagers.common.account.domain

enum class AccountRole {
VENDOR,
CUSTOMER,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package at.voyagers.common.bookmark.domain

data class Bookmark(
val productId: String,
val customerId: String,
)
9 changes: 9 additions & 0 deletions src/main/kotlin/at/voyagers/common/cart/domain/Cart.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package at.voyagers.common.cart.domain

import at.voyagers.common.variant.domain.VariantGroup

data class Cart(
val id: String,
val customerId: String,
val variants: List<VariantGroup>,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package at.voyagers.common.customer.domain

data class Customer(
val id: String,
val name: String,
val phone: String,

val accountId: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package at.voyagers.common.customer.domain

data class CustomerAddress(
val id: String,
val customerId: String,
val address: String,
val default: Boolean
)
10 changes: 10 additions & 0 deletions src/main/kotlin/at/voyagers/common/order/domain/Order.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package at.voyagers.common.order.domain

data class Order(
val id: String,
val customerId: String,
val vendorId: String,
val variants: List<OrderVariant>,
val vendorAddress: OrderAddress,
val customerAddress: OrderAddress,
)
11 changes: 11 additions & 0 deletions src/main/kotlin/at/voyagers/common/order/domain/OrderAddress.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package at.voyagers.common.order.domain

/**
* Value Object
* Order 에서 사용하는 주소
*/
data class OrderAddress(
val name: String,
val phone: String,
val address: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package at.voyagers.common.order.domain

enum class OrderStatus {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package at.voyagers.common.order.domain

data class OrderVariant(
val variantId: String,
val price: String,
val quantity: Int,
)
6 changes: 6 additions & 0 deletions src/main/kotlin/at/voyagers/common/product/domain/Category.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package at.voyagers.common.product.domain

data class Category(
val id: String,
val name: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package at.voyagers.common.product.domain

enum class OptionType {
SIZE,
COLOR
}
12 changes: 12 additions & 0 deletions src/main/kotlin/at/voyagers/common/product/domain/Product.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package at.voyagers.common.product.domain

data class Product(
val id: String,
val name: String,
val description: String,
val price: Double,
val quantity: Int,

val status: ProductStatus,
val categoryId: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package at.voyagers.common.product.domain

data class ProductOption(
val id: String,
val productId: String,
val options: Map<OptionType, List<String>>
)
12 changes: 12 additions & 0 deletions src/main/kotlin/at/voyagers/common/product/domain/ProductStatus.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package at.voyagers.common.product.domain

/**
* ACTIVE: 판매중
* INACTIVE: 품절
* DELETED: 삭제
*/
enum class ProductStatus {
ACTIVE,
INACTIVE,
DELETED
}
7 changes: 7 additions & 0 deletions src/main/kotlin/at/voyagers/common/variant/domain/Variant.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package at.voyagers.common.variant.domain

data class Variant(
val id: String,
val productId: String,
val option: VariantOption,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package at.voyagers.common.variant.domain

data class VariantGroup(
val variantId: String,
val quantity: Int,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package at.voyagers.common.variant.domain

import at.voyagers.common.product.domain.OptionType

data class VariantOption(
val productId: String,
val optionType: OptionType,
val optionValue: String
)
12 changes: 12 additions & 0 deletions src/main/kotlin/at/voyagers/common/vendor/domain/Vendor.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package at.voyagers.common.vendor.domain

data class Vendor(
val id: String,
val name: String,
val phone: String,
val address: String,

val accountId: String,

val brand: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package at.voyagers.common.vendor.domain

data class VendorSettlement(
val id: String,
val vendorId: String,
val bankAccount: String,
val bankName: String,
val bankHolder: String,
)

0 comments on commit 4b1bb11

Please sign in to comment.