Java 17 + Spring Boot 2.7.7 ๊ธฐ๋ฐ์ DuDoong ๋ฐฑ์๋๋ฅผ Kotlin์ผ๋ก ์ ํํฉ๋๋ค.
Lombok ์ ๊ฑฐ, Kotlin DSL ๋น๋ ์คํฌ๋ฆฝํธ ์ ํ, ๊ฐ ๋ชจ๋๋ณ ์์ฐจ ๋ง์ด๊ทธ๋ ์ด์
์ ์งํํฉ๋๋ค.
DuDoong-Backend
โโโ DuDoong-Common # JWT, ์ด๋
ธํ
์ด์
, ์์ธ์ฒ๋ฆฌ, DTO, ์ ํธ
โโโ DuDoong-Domain # JPA ์ํฐํฐ, QueryDSL, ๋๋ฉ์ธ ์๋น์ค, AOP
โโโ DuDoong-Infrastructure # Redis, S3, SES, Toss Payments, Feign, Slack, NCP
โโโ DuDoong-Api # REST API, Spring Security, SpringDoc/Swagger
โโโ DuDoong-Socket # WebSocket ์๋ฒ
โโโ DuDoong-Batch # Spring Batch (์ ์ฐ, ์์
, ์๋ฆผ)
Phase 0 (์ค์ ) โ Phase 1 (Common) โ Phase 2 (Infrastructure)
โ Phase 3 (Domain) โ Phase 4 (Api) โ Phase 5 (Socket) โ Phase 6 (Batch)
๐ DuDoong Backend - Java โ Kotlin ์ ์ฒด ๋ง์ด๊ทธ๋ ์ด์
๊ฐ์
Java 17 + Spring Boot 2.7.7 ๊ธฐ๋ฐ์ DuDoong ๋ฐฑ์๋๋ฅผ Kotlin์ผ๋ก ์ ํํฉ๋๋ค.
Lombok ์ ๊ฑฐ, Kotlin DSL ๋น๋ ์คํฌ๋ฆฝํธ ์ ํ, ๊ฐ ๋ชจ๋๋ณ ์์ฐจ ๋ง์ด๊ทธ๋ ์ด์ ์ ์งํํฉ๋๋ค.
ํ์ฌ ๊ธฐ์ ์คํ
์ํคํ ์ฒ (๋ฉํฐ๋ชจ๋)
๋๋ฉ์ธ ์์ญ
user/host/authevent/ticket_itemorder/cart/couponissuedTicket/settlementcomment/statistic๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต
Bottom-up ๋ฐฉ์ (์์กด์ฑ ๋ฎ์ ๋ชจ๋ โ ๋์ ๋ชจ๋ ์์)
์์ ์ด์ ๋ชฉ๋ก
Phase 0: ๋น๋ ์ค์
Phase 1: DuDoong-Common
Phase 2: DuDoong-Infrastructure
Phase 3: DuDoong-Domain
Phase 4: DuDoong-Api
Phase 5: DuDoong-Socket
Phase 6: DuDoong-Batch
Kotlin ๋ง์ด๊ทธ๋ ์ด์ ํต์ฌ ์์น
@Dataโdata class,@Builderโ named parameters + copy()@Nullable/@NonNullโ Kotlin nullable/non-null ํ์ ์์คํ @Entity+open class(allOpen plugin ์ ์ฉ)์ฃผ์์ฌํญ