- Sample Code Registry
- β β Layerd
- βΆβ Hexagonal (Here)
- β β Multi-Module Project
μ΄ μν νλ‘μ νΈλ λ μ΄μ΄λ μν€ν μ²λ₯Ό λμ΄ νμ₯μ±κ³Ό μ μ°μ±μ 보μ₯νκ³ DDD μ² νμ κ±Έλ§λ ν₯μ¬κ³ λ μν€ν μ² κΈ°λ°μΌλ‘ ꡬνλμμ΅λλ€.
κΈ°λ³Έμ μΈ CRUD λμκ³Ό ν₯μ¬κ³ λ μν€ν μ²μ ꡬ쑰λ₯Ό νμ νκ³ κ΄μ μ μ΅ν μ μλλ‘ νμμ΅λλ€.
λ€μ νλͺ©μ ν¬ν¨ν©λλ€.
- ν₯μ¬κ³ λ μν€ν μ²μ μλ―Έ μμ€μ ꡬνμ λ°λ¦ λλ€.
- ν΄λ ꡬ쑰μ μμμ μ λμ μμ§λλ₯Ό μν΄ λλ©μΈ κΈ°μ€μΌλ‘ μ€κ³ν©λλ€.
me.nettee
βββ common
βββ board
βββ adapter -- μΈλΆμμ μνΈμμ©μ μ²λ¦¬νλ κ³μΈ΅, application μ
μΆλ ₯μ λ΄λΉ
β βββ driving -- μΈλΆλ‘λΆν°μ μ
λ ₯μ μ²λ¦¬νλ μ΄λν°
β β βββ web -- Web μμ²μ μ²λ¦¬νλ 컨νΈλ‘€λ¬ λ° DTO μ μ
β β βββ dto
β β βββ mapper -- DTO β Domain λ§€ν ν΄λμ€
β βββ driven -- μΈλΆλ‘μ μΆλ ₯μ μ²λ¦¬νλ μ΄λν° (DB, Event, Messaging μ²λ¦¬)
β βββ persistence -- μμμ± κ³μΈ΅μ ꡬν체 (μ: JPA, MyBatis λ±)
β βββ entity
β βββ mapper -- Entity β Domain λ§€ν ν΄λμ€
βββ application -- ν΅μ¬ λΉμ¦λμ€ λ‘μ§μ΄ ν¬ν¨λ κ³μΈ΅, λλ©μΈκ³Ό μ μ€μΌμ΄μ€λ₯Ό μ μ
βββ domain -- λΉμ¦λμ€ λλ©μΈ μ μ
βββ port -- adpaterμ μνΈμμ©μ μν μΈν°νμ΄μ€ μ μ
βββ service -- λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ μλΉμ€ ν΄λμ€
βββ usecase -- νΉμ μ μ€μΌμ΄μ€(κΈ°λ₯) μΈν°νμ΄μ€ μ μ
Adapterλ Application κ³μΈ΅μ μ μλ portλ₯Ό ꡬνν©λλ€.
- Driving Adapterλ μμ€ν μΈλΆμμ λ€μ΄μ€λ μμ²μ λ΄λΉν©λλ€. (HTTP μμ², λ©μμ§ μλΉ) μ΄ν μ ν리μΌμ΄μ μ μ λ¬ν©λλ€.
- Driven Adpaterλ μμ€ν
μ΄ μΈλΆλ‘ λκ°λ μμ
μ λ΄λΉν©λλ€. (DB CRUD μμ
, μΈλΆ API νΈμΆ, λ©μμ§ μ λ¬)
- μ€μ΅μμ Driven Adapterλ RDB Adapterλ‘, Spring Data JPAλ₯Ό μ¬μ©ν©λλ€.
- JDK 21
You can use OpenJDK e.g. Amazon Corretto 21
κ°λ°μλ€μ λ€μκ³Ό κ°μ Branch Ruleμ κΌ μμ§νκ³ μ€μν΄ μ£ΌμκΈ° λ°λλλ€. (κ°μνλ λΈλμΉ μ΄μ)
-
main λΈλμΉλ μ½κΈ° μ μ© μ λλ€.
- main λΈλμΉλ κ΄λ¦¬μ(
@merge-simpson,@silberbullet)λ§ force pushκ° κ°λ₯ν©λλ€.
- main λΈλμΉλ κ΄λ¦¬μ(
-
feature λΈλμΉ: λͺ¨λ λ³κ²½ μ¬νμ feature λΈλμΉλ₯Ό μμ± ν, main λΈλμΉλ‘ λ³ν©ν΄μΌ ν©λλ€.
-
feature/κΈ°λ₯λͺμμμΌλ‘ λͺ λͺ νλ©°, μλ¬Έ μλ¬Έμ, μ«μ λ° νμ΄ν(μΌλ°₯ μΌμ΄μ€)λ₯Ό μ¬μ©ν©λλ€. (μΆκ°μ μΈ μ¬λμλ₯Ό μ¬μ©νμ§ μμ΅λλ€.)LoadinggitGraph commit commit branch feature/board-example branch feature/board-something checkout feature/board-example commit checkout feature/board-something commit commit checkout feature/board-example commit checkout main merge feature/board-example checkout main merge feature/board-something commit
-
-
μ£Όμ λΈλμΉμ λ³ν© μ Pull Request(PR)λ νμμ λλ€.
-
Pull Requestλ₯Ό μμ±ν λ, μ΅μ 2λͺ μ reviewerλ₯Ό μ§μ ν΄μΌ ν©λλ€.
-
κ΄λ¦¬μ(@merge-simpson, @silberbullet)λ 리뷰 μμ΄ λ³ν©μ΄ κ°λ₯ν©λλ€.
-
μ½λμ λν λͺ¨λ λ Όμ(conversations)κ° ν΄κ²°(resolved)λμ§ μμ μνμμλ Pull Requestλ₯Ό λ³ν©ν μ μμ΅λλ€.
conversations μμ 보기
- @silberbullet λμ΄ pull request μμ± ν, reviewerλ₯Ό @merge-simpson μκ² μ μ²νμμ΅λλ€.
- @merge-simpson λμ μ½λ μμ μ μν΄ commentλ₯Ό λ¨κ²Όμ΅λλ€.
- @silberbullet λμ ν΄λΉ μ½λλ₯Ό μμ νμ¬ push ν @merge-simpson λμ΄ λ¨κΈ΄ commentμ μμ μ¬νμ μ μ΄ λμμ΅λλ€.
- @merge-simpson "Resolve conversation" λ²νΌμ ν΄λ¦νμ¬ νΌλλ°±μ΄ ν΄κ²°λμμμ νμν©λλ€.
- λΉλ‘μ @silberbullet λμ μ½λ λ³ν©μ΄ κ°λ₯ν©λλ€.
-
μ»€λ° λ©μμ§μ μ 1 κ·μΉμ 'μμλ³Ό μ μλ λ©μμ§ μ λ¬'μ
λλ€.
보νΈμ μΈ μ΅κ·€λ¬ μ»€λ° λ©μμ§ μ»¨λ²€μ
μ λ°λ₯΄λ©΄μ, κ° ν¬λ§·μ λ°μ΄λ리μ νν μμ€μ νμ λ§κ² μ°¨κ·Όμ°¨κ·Ό μ‘°μ ν΄ κ°λ©΄ μ’κ² μ΅λλ€.
μ»€λ° λ©μμ§μ 첫 λ¨μ΄λ μμ μ λͺ©μ μ λͺ νν νκΈ° μν΄ μ»€λ° νμ μΌλ‘ μμν©λλ€.
type(scope): subject in lowercase
μλμ νμ μ μ€μ΅μΌλ‘ μ¬μ©ν΄ 보μλ©΄ μ’μ΅λλ€.
- feat: μλ‘μ΄ κΈ°λ₯ μΆκ°
- fix: λ²κ·Έ μμ
- docs: λ¬Έμ μμ± λ° μμ (README.md λ±)
- refactor: μ½λ 리ν©ν λ§ (κΈ°λ₯ λ³ν μμ: μ±λ₯ κ°μ , ν¨ν€μ§ μ΄λ, νμΌΒ·μλ³μ μμ λ±)
- test: ν μ€νΈ μ½λ μΆκ° λλ μμ
- chore: μ½λμ ꡬ쑰λ λμμ μν₯μ μ£Όμ§ μλ κΈ°ν μμ
- build: λΉλ κ΄λ ¨ μμ , ν¨ν€μ§ λ§€λμ μ€μ λ±
Merge Simpson
Silberbullet (No silver bullet)