Skip to content

Latest commit

Β 

History

History
79 lines (67 loc) Β· 4.3 KB

package_structure.md

File metadata and controls

79 lines (67 loc) Β· 4.3 KB

νŒ¨ν‚€μ§€ ꡬ쑰

μœ μ € user / 곡지 notice

μœ μ €, 곡지 도메인은 ν—₯사고날 μ•„ν‚€ν…μ²˜μ— 따라 νŒ¨ν‚€μ§€ ꡬ쑰λ₯Ό μ •μ˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€!

user
β”œβ”€β”€ adapter
β”‚Β Β  β”œβ”€β”€ in.web
β”‚Β Β  └── out
β”‚Β Β  Β  Β  β”œβ”€β”€ authentication
β”‚Β Β  Β  Β  └── persistence
β”œβ”€β”€ application
β”‚Β Β  β”œβ”€β”€ port
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ in
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ command
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ query
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
β”‚Β Β  β”‚Β Β  └── out
β”‚Β Β  └── service
└── domain

μ„ΈλΆ€ 정보

νŒ¨ν‚€μ§€λͺ… 이름 μ„€λͺ…
adapter μ–΄λŒ‘ν„° μ™ΈλΆ€ 세계와 포트 κ°„ κ΅ν™˜μ„ μ‘°μ •ν•œλ‹€.
adapter.in.web μΈλ°”μš΄λ“œ μ–΄λŒ‘ν„° μ™ΈλΆ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜/μ„œλΉ„μŠ€μ™€ λ‚΄λΆ€ λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­(μΈλ°”μš΄λ“œ 포트) κ°„ 데이터 κ΅ν™˜μ„ μ‘°μ •ν•œλ‹€. Controllerκ°€ μ†ν•΄μžˆλ‹€.
adapter.out μ•„μ›ƒλ°”μš΄λ“œ μ–΄λŒ‘ν„° λ‚΄λΆ€ λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­(μ•„μ›ƒλ°”μš΄λ“œ 포트)κ³Ό μ™ΈλΆ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜/μ„œλΉ„μŠ€ κ°„ 데이터 κ΅ν™˜μ„ μ‘°μ •ν•œλ‹€.
adapter.out.authentication μœ μ € 인증/인가 κ΄€λ ¨ μ–΄λŒ‘ν„°
adapter.out.persistence 도메인 μ˜μ†μ„± μ–΄λŒ‘ν„° λ„λ©”μΈμ˜ μ˜μ†μ„±μ€ 외뢀와 μ§μ ‘μ μœΌλ‘œ μ†Œν†΅ν•˜λ―€λ‘œ, λ‚΄λΆ€ λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­κ³Ό 뢄리가 ν•„μš”ν•˜λ‹€.
application λ‚΄λΆ€ λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­
application.port λ‚΄λΆ€ λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­μ„ μ™ΈλΆ€ μ˜μ—­μ— λ…ΈμΆœν•œ API
application.port.in μΈλ°”μš΄λ“œ 포트 λ‚΄λΆ€ μ˜μ—­ μ‚¬μš©μ„ μœ„ν•΄ λ…ΈμΆœλœ API
application.port.in.command μƒνƒœλ₯Ό λ³€κ²½ν•˜λŠ” μΈλ°”μš΄λ“œ 포트
application.port.in.query μƒνƒœλ₯Ό λ°˜ν™˜ν•˜λŠ” μΈλ°”μš΄λ“œ 포트
application.port.in.response 응닡 DTO
application.port.out μ•„μ›ƒλ°”μš΄λ“œ 포트 λ‚΄λΆ€ μ˜μ—­μ΄ μ™ΈλΆ€ μ˜μ—­μ„ μ‚¬μš©ν•˜κΈ° μœ„ν•œ API
application.service μΈλ°”μš΄λ“œ 포트 κ΅¬ν˜„μ²΄ μ„œλΉ„μŠ€
application.domain λΉ„μ¦ˆλ‹ˆμŠ€ 도메인

μΉ΄ν…Œκ³ λ¦¬ category

각 μ „μ‹œλ§ˆλ‹€ 1개의 μΉ΄ν…Œκ³ λ¦¬λ₯Ό μ§€μ •ν•˜κ²Œ 되고, μ΅œλŒ€ 5개의 μΉ΄ν…Œκ³ λ¦¬λ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. μœ μ €λŠ” μΉ΄ν…Œκ³ λ¦¬ λ³„λ‘œ μ „μ‹œλ₯Ό λͺ¨μ•„λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

category
β”œβ”€β”€ controller
β”œβ”€β”€ domain
β”œβ”€β”€ dto
β”œβ”€β”€ exception
└── service

μ „μ‹œ 기둝 gallery

μ „μ‹œ 기둝은 μ „μ‹œ(exhibition), μž‘ν’ˆ(artwork), νƒœκ·Έ(tag) λ“±μœΌλ‘œ μ΄λ£¨μ–΄μ ΈμžˆμŠ΅λ‹ˆλ‹€.

ν•˜λ‚˜μ˜ μ „μ‹œ(exhibition)은 μ—¬λŸ¬ μž‘ν’ˆ(artwork)λ₯Ό κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 각 μ „μ‹œλŠ” λ°©λ¬Έ 일자, κ΄€λ ¨ URL λ“±μ˜ 정보λ₯Ό 등둝할 수 있고, 각 μž‘ν’ˆμ€ μž‘ν’ˆ 사진, μž‘κ°€ λ“±μ˜ 정보λ₯Ό 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€. 또 ν•˜λ‚˜μ˜ μ „μ‹œμ—λŠ” μ—¬λŸ¬ νƒœκ·Έ(tag)λ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

gallery
β”œβ”€β”€ controller
β”œβ”€β”€ domain
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ artwork
β”‚Β Β  β”‚Β Β  └── exhibition
β”‚Β Β  └── repository
β”œβ”€β”€ dto
β”‚Β Β  β”œβ”€β”€ artwork
β”‚Β Β  └── exhibition
β”œβ”€β”€ exception
└── service