Package - taeyun-ham/andalos GitHub Wiki
Package Structure
com.taeyoon.api
βββ domain # μν°ν°μ λΉμ¦λμ€ κ·μΉμ ν¬ν¨νλ μ΅λ΄λΆ κ³μΈ΅
β βββ user # λΉμ¦λμ€ λλ©μΈ (μ:μ μ )
β β βββ model # λλ©μΈ λͺ¨λΈ(μν°ν°, κ° κ°μ²΄ λ±)
β β βββ creation # λλ©μΈ νμ
β β βββ withdraw # λλ©μΈ νμ
β βββ order # λΉμ¦λμ€ λλ©μΈ (μ:μ£Όλ¬Έ)
β βββ model
β βββ creation
β βββ delivery
β
βββ application # μ ν리μΌμ΄μ
μ λΉμ¦λμ€ λ‘μ§μ ꡬννλ μ¬μ© μ¬λ‘ κ³μΈ΅
β βββ dto # λ°μ΄ν° μ μ‘ κ°μ²΄
β βββ service # μμ© μλΉμ€ (λΉμ¦λμ€ λ‘μ§μ ꡬν)
β βββ exception # μμ© κ³μΈ΅μ μμΈ μ μ
β
βββ infra # μΈνλΌμ€νΈλμ² κ³μΈ΅ (λ°μ΄ν°λ² μ΄μ€, λ©μμ§ μμ€ν
λ± μΈλΆμμ ν΅μ μ λ΄λΉ)
β βββ persistence # λ°μ΄ν°λ² μ΄μ€ μ κ·Όκ³Ό κ΄λ ¨λ ꡬν (리ν¬μ§ν 리 ꡬν체)
β βββ configuration # μ ν리μΌμ΄μ
μ€μ κ³Ό κ΄λ ¨λ ν΄λμ€
β βββ external # μΈλΆ μμ€ν
κ³Όμ ν΅μ μ λ΄λΉ
β
βββ interfaces # μΈν°νμ΄μ€ μ΄λν° κ³μΈ΅ (μ¬μ©μ μΈν°νμ΄μ€, μΉ API λ±)
βββ web # μΉ μΈν°νμ΄μ€ (컨νΈλ‘€λ¬)
βββ cli # 컀맨λλΌμΈ μΈν°νμ΄μ€
βββ rest # REST API μΈν°νμ΄μ€
- ν¨ν€μ§ ꡬ쑰μ λν κ³ λ―Όμ΄ λ§μλ€.
- μ΄λ―Έ λ§μ λ¬Έμ μ μ΄ λ°κ²¬λ μ ν΅μ μΈ μν λΆν κ³μΈ΅ν ν¨ν€μ§λ‘λ ν μ μκ³ ,
- MSA λ‘ νμ₯ κ°λ₯ν λλ©μΈ μ€μ¬μ κΈ°λ₯ κΈ°λ° ν¨ν€μ§λ‘ ꡬμ±ν΄μΌ νλ€.
- λν μ μμ€κ³Ό κ³ μμ€μ κ²½κ³κ° νμ€ν΄μΌ νκ³ κ²©λ¦¬ μμΌμΌ νκΈ°μ μμ κ°μ ν¨ν€μ§ ꡬ쑰λ₯Ό ꡬμ±νμλ€.
Domain
βββ domain # μν°ν°μ λΉμ¦λμ€ κ·μΉμ ν¬ν¨νλ μ΅λ΄λΆ κ³μΈ΅
β βββ user # λΉμ¦λμ€ λλ©μΈ (μ:μ μ )
β β βββ model # λλ©μΈ λͺ¨λΈ(μν°ν°, κ° κ°μ²΄ λ±)
β β βββ creation # λλ©μΈ νμ
β β βββ withdraw # λλ©μΈ νμ
β βββ order # λΉμ¦λμ€ λλ©μΈ (μ:μ£Όλ¬Έ)
β βββ model
β βββ creation
β βββ delivery
- λλ©μΈμ ν¨ν€μ§ κ΅¬μ‘°λ§ λ³΄λλΌλ μ΄λ€ μλΉμ€λ₯Ό νλμ§ μ μ μλλ‘ ν΄μΌ νλ€.
- μ μμ€μΈ νλ μμν¬μ 격리λμ΄μΌ νκ³ μ€λ‘μ§ λλ©μΈ λ‘μ§μλ§ μ§μ€ν΄μΌ νλ€.
- κ° λλ©μΈ νμλ μν°ν° κ°μ²΄μ νμλ‘ κ΅¬μ±νλ€.
Application
βββ application # μ ν리μΌμ΄μ
μ λΉμ¦λμ€ λ‘μ§μ ꡬννλ μ¬μ© μ¬λ‘ κ³μΈ΅
β βββ dto # λ°μ΄ν° μ μ‘ κ°μ²΄
β βββ service # μμ© μλΉμ€ (λΉμ¦λμ€ λ‘μ§μ ꡬν)
β βββ exception # μμ© κ³μΈ΅μ μμΈ μ μ
- μ ν리μΌμ΄μ
μ λΉμ¦λμ€ λ‘μ§μ λ΄λΉνλ μμμ΄λ€.
- νλ μμν¬μ μ’
μμ μ΄κ³ λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬ν λ μ¬λ¬ λλ©μΈλ€μ νμ©ν μ μμ΄μΌ νλ€.
- μ°¨ν MSA λ‘ νμ₯ν κ²½μ° μμ λ λΆλΆμ΄ κ°μ₯ λ§μ κ³³μ΄ λ λ― νλ€.
- dto : μΈν°νμ΄μ€ μ΄λ΅ν° κ³μΈ΅μμ λ°μ΄ν°λ₯Ό μ μ‘ν λ μ¬μ©νλ κ°μ²΄λ€μ΄ μλ κ³³μ΄λ€.
- service : λΉμ¦λμ€ λ‘μ§μ ꡬννλ κ³³μ΄λ€.
- exception : λΉμ¦λμ€ λ‘μ§ μ²λ¦¬μ λ°μνλ exception λ€μ΄ μλ κ³³μ΄λ€.
Infrastructure
βββ infra # μΈνλΌμ€νΈλμ² κ³μΈ΅ (λ°μ΄ν°λ² μ΄μ€, λ©μμ§ μμ€ν
λ± μΈλΆμμ ν΅μ μ λ΄λΉ)
β βββ persistence # λ°μ΄ν°λ² μ΄μ€ μ κ·Όκ³Ό κ΄λ ¨λ ꡬν (리ν¬μ§ν 리 ꡬν체)
β βββ configuration # μ ν리μΌμ΄μ
μ€μ κ³Ό κ΄λ ¨λ ν΄λμ€
β βββ external # μΈλΆ μμ€ν
κ³Όμ ν΅μ μ λ΄λΉ
- μ μμ€μ ν΄λΉνλ ν¨ν€μ§λ€μ΄ μλ κ³³μ΄λ€.
- μ ν리μΌμ΄μ
μ€μ μ κ΄λ ¨λ ν΄λμ€, λ°μ΄ν°λ² μ΄μ€ μ κ·Ό κ΄λ ¨λ ν΄λμ€ λλ μΈλΆ μΈν°νμ΄μ€μ κ΄λ ¨λ ν΄λμ€λ€μ΄ μλ κ³³μ΄λ€.
- Spring framework λ₯Ό μ¬μ©ν κ²½μ° κ°μ’
configuration ν΄λμ€, Jpa λ₯Ό μ¬μ©ν κ²½μ° repository ꡬν체 λ±μ΄ μλ€.
- external μ ν μμ€ν
κ³Όμ μΈν°νμ΄μ€ κ΄λ ¨λ ν΄λμ€, λλ cloud service λ₯Ό νμ©νκΈ° μν sdk μ²λ¦¬λ‘μ§μ λ΄λΉνλ ν΄λμ€λ€μ΄ μλ€.
Interfaces
βββ interfaces # μΈν°νμ΄μ€ μ΄λν° κ³μΈ΅ (μ¬μ©μ μΈν°νμ΄μ€, μΉ API λ±)
βββ web # μΉ μΈν°νμ΄μ€ (컨νΈλ‘€λ¬)
βββ cli # 컀맨λλΌμΈ μΈν°νμ΄μ€
βββ rest # REST API μΈν°νμ΄μ€
- μΈν°νμ΄μ€ μ΄λν° κ³μΈ΅μ΄λ€.
- νμ ν¨ν€μ§λ§ 보λλΌλ κΈλ°© μ΄ν΄κ° λ κ²μ΄λ€.
- Spring framework λ₯Ό μ¬μ©ν κ²½μ° Controller κ° μ¬κΈ°μ μμΉνλ€.
μ’
ν©
- μΈν°νμ΄μ€ μ΄λν° κ³μΈ΅ :
interfaces, infra
- μ μ€μΌμ΄μ€ κ³μΈ΅ :
application
- μν°ν° κ³μΈ΅ :
domain
