-
Notifications
You must be signed in to change notification settings - Fork 2
๐ฉโ๐ป ํ ์ปจ๋ฒค์
yewon edited this page Aug 2, 2025
·
3 revisions
- Github Flow
- ๋ค๋ฅธ ํ์์ ์์ ์งํ ์ํฉ์ ํ์ ํ๊ธฐ ์ฉ์ดํ๋ฉฐ, ํ๋ก์ ํธ์ ๊ท๋ชจ๋ฅผ ๊ณ ๋ คํ์ ๋ ์ง์์ ์ธ ๋ฐฐํฌ๊ฐ ํธ๋ฆฌํ๋ค ํ๋จํ์ฌ ์ ํ
- rebase ์๋ ์ผ๋ฐ merge ์ฌ์ฉ, ๋จธ์ง ์๋ฃํ ๋ธ๋์น๋ ์ดํ ์ญ์
- API ๋จ์๋ก ๊ฐ๋ฐ ํ ์ปค๋ฐ
- PR ๋จธ์ง ์ ๋ฐ๋์ ํ ์คํธ์ฝ๋ ํต๊ณผ๋ฅผ ํ์ธ ํ ๋จธ์งํจ
- ํ์ 5๋ช
์ค 3๋ช
์ด์ approve์ ๋จธ์ง ๊ฐ๋ฅ
- ๊ฐ๋ฅํ ๋ชจ๋ ํ์์ด ์ฝ๋๋ฆฌ๋ทฐ ํ์์ผ๋ฉฐ, ์ค์๊ฐ์ผ๋ก ์ ์ ํ์ธ ์ฒดํฌ ํ ๋จธ์งํ์์
- ์ด์ ์์ฑ ํ ๋ธ๋์น๋ฅผ ์์ฑํด ์์ ์ ์์ํจ
- ๋ณต์กํ ๋ด์ฉ์ PR content์๋ ํ์์ ์ดํด๋ฅผ ๋๊ธฐ ์ํ ์ค๋ช ์์ฑ
- P0-P6 ์ฝ๋ ๋ฆฌ๋ทฐ ํ ํ๋ฆฟ ์ฌ์ฉ
- ๋ค๋ฅธ ํ์์ PR์ ๋จ ์ฝ๋ฉํธ๋ ์ฝ๋ฉํธ๋ฅผ ์์ฑํ ๋ณธ์ธ์ด ์ง์ ๋ฐ์ ํ์ธ ํ resolve
- ๋๋ฌธ์๋ก ์์ํ๋ ์ปค๋ฐ ์ ํ ๋ค ๊ฐ๋จํ ๋ช
์ฌํ ์ค๋ช
- ex:
Feat: DocService ๊ตฌํ
- ex:
- PR๊ณผ ์ด์ ์ ๋ชฉ ์ผ์น
- ์ ๋ชฉ์ ํ๊ธ ๊ธฐ์ค 20์ ์ด๋ด๋ก
| ์ปค๋ฐ ์ ํ | ์๋ฏธ |
|---|---|
| Feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
| Fix | ๋ฒ๊ทธ ์์ |
| Docs | ๋ฌธ์ ์์ |
| Style | ์ฝ๋ formatting, ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ฒด์ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ |
| Refactor | ์ฝ๋ ๋ฆฌํฉํ ๋ง |
| Test | ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ |
| Chore | ํจํค์ง ๋งค๋์ ์์ , ๊ทธ ์ธ ๊ธฐํ ์์ ex) .gitignore |
| Design | CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
| Comment | ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
| Rename | ํ์ผ ๋๋ ํด๋ ๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐ |
| Remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ |
| !BREAKING CHANGE | ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ |
| !HOTFIX | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐ |
- Google Java Style Guide ์ ์ฉ
- ๋ชจ๋ Dto๋ record๋ก ์ฌ์ฉ
- ์์ฑ์๋ ๋งค๊ฐ๋ณ์๊ฐ 1๊ฐ๋ผ๋ฉด from ์ ์ฌ์ฉํ๊ณ , ๊ทธ ์ด์์ด๋ฉด of๋ฅผ ์ฌ์ฉ
- ๋ชจ๋ dto-entity ๋ณํ์ Mapper ํด๋์ค ์ฌ์ฉ
- ์ด๋ฆ์
(๋๋ฉ์ธ์ด๋ฆ)Mapper - ๋๋ฉ์ธ๋ณ util ํจํค์ง ํ์์ ์์น
- ๋ฉ์๋๋ช
์
toEntity(),toGraphCreateResponse()
- ์ด๋ฆ์
- ๋ชจ๋ ๊ณณ์ Setter ์ฌ์ฉ ์ง์, ๋ฉ์๋๋ก ๋์ฒด
- entity์์๋ ๋งค๊ฐ๋ณ์ ๊ฐ์์ ์๊ด ์์ด ์ผ๊ด์ฑ ์๋ Builder ์ฌ์ฉ
- ๋๋ฉ์ธํ ์ค๊ณ ์ ์ฉ
- ๊ตฌ์กฐ์ ์ฅ์ :
- ๋ชจ๋ ํ์ฅ ์ฉ์ด์ฑ: ๊ธฐ๋ฅ ๋จ์๋ก ๋ฌถ์ฌ ์์ด ์๋ก์ด ๋๋ฉ์ธ์ ์ถ๊ฐํ๊ฑฐ๋ ํน์ ๋๋ฉ์ธ๋ง ๋ถ๋ฆฌํด ๋ชจ๋ํ(MSA ๋ฑ)ํ๊ธฐ ์ฌ์
- ์ฝ๋ ์์ง๋ ์ฆ๊ฐ: ๋์ผ ๋๋ฉ์ธ ๋ด์ ๋ชจ๋ ๊ณ์ธต์ด ํ ๊ณณ์ ์์นํ์ฌ ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํจ
- MSA ์ ํ ๊ธฐ๋ฐ ํ๋ณด: ๋๋ฉ์ธ ๋จ์ ์๋น์ค ๋ถ๋ฆฌ ์ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๊ณ์น ๊ฐ๋ฅ
- ๊ตฌ์กฐ์ ํ๊ณ:
- ํ์ฌ ๋ชจ๋๊ฐ ๊ฒฐํฉ๋๊ฐ ๋ฎ์ง ์์ผ๋ฉฐ ์ผ๋ถ ๋๋ฉ์ธ ๊ฐ ์ง์ ์ฐธ์กฐ๊ฐ ์กด์ฌํจ
- ์ฅ๊ธฐ์ ์ผ๋ก MSA ์ํคํ ์ฒ๋ฅผ ๋ชฉํ๋ก ํ๋ค๋ฉด ์๋น์ค ๊ฒฝ๊ณ๋ฅผ ๋ ๋ช ํํ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ผ๋ก ๋ณด์
- ์ถํ ์์กด์ฑ ๋ถ๋ฆฌ, ๊ณตํต ๋ชจ๋ํ, ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํฉ์ฑ ์ค๊ณ๋ฑ์ ๊ฐ์ ์์ ํ์
com.ejangs.docsa
โโโ DocsaApplication.java
โโโ domain
โ โโโ auth
โ โ โโโ api # ์ธ์ฆ ๊ด๋ จ ์ปจํธ๋กค๋ฌ
โ โ โโโ app # ์ธ์ฆ ๋ก์ง, ๋ฉ์ผ ์ ์ก
โ โ โโโ dto # ์ธ์ฆ ์์ฒญ/์๋ต DTO
โ โ โโโ model # ์ธ์ฆ ๊ด๋ จ ๋ชจ๋ธ(enum ๋ฑ)
โ โ โโโ swagger # Swagger ๋ฌธ์
โ โ โโโ util # ์ธ์ฆ ์ฝ๋ ์์ฑ๊ธฐ ๋ฑ ์ ํธ
โ โโโ commit
โ โ โโโ api, app, dao.mongodb/mysql
โ โ โโโ document # MongoDocument
โ โ โโโ dto, entity, swagger, util
โ โโโ doc
โ โ โโโ api, app, dao, dto (๊ทธ๋ํ/์์ฝ ์๋ต ํฌํจ)
โ โ โโโ entity, model, swagger, util
โ โโโ save
โ โ โโโ api, app, dao.mongodb/mysql
โ โ โโโ document, dto, entity, swagger, util
โ โโโ user
โ โโโ api, app, dao, dto, entity
โ โโโ security # Spring Security ์ค์
โ โโโ swagger, util
โโโ global
โ โโโ common # ๊ณตํต ์ํฐํฐ (e.g., BaseEntity)
โ โโโ config # ์ค์ ํด๋์ค๋ค (Security, JPA, Mail ๋ฑ)
โ โโโ exception
โ โ โโโ handler, ErrorResponse
โ โ โโโ errorcode # ๊ธฐ๋ฅ๋ณ ์๋ฌ ์ฝ๋ ์ ์
โ โโโ init # ์ด๊ธฐ ๋ฐ์ดํฐ ์ค์
โ โโโ mongo.deletion # Mongo DB ์ญ์ ์คํจ ์ฒ๋ฆฌ ๋ก์ง
โ โโโ util # ๊ณตํต ์ ํธ
- ๋ฉ์๋ ๋ช ์
- DTO ๋ช
์
(๋๋ฉ์ธ์ด๋ฆ)(๋ชฉ์ )Request/Response, ๊ตฌ๋ถ์ด ์ ๋งคํ ๊ฒ์ Dto๋ก- ex:
GraphCreateRequest,GraphCreateDto
- ex:
- ๋ณ์๋ช
- ๋ณ์๋ช ์ ์นด๋ฉ ์ผ์ด์ค(userName, totalNumber)
| ๊ท์น | ์์ |
|---|---|
| ๋จ์ผ ๊ฐ์ฒด๋ ๋จ์ํ ์ฌ์ฉ | coffee, order |
| ์ปฌ๋ ์ ์ ๋ณต์ํ ์ฌ์ฉ | coffees, orders |
| ๋ณ์๋ช ์ ํ์ ์ ํฌํจํ์ง ์์ | โ createdOrder, โ orderListArray |
| ์๋ฏธ๊ฐ ๋๋ฌ๋๋ ์๋ ๊ธฐ๋ฐ ๋ค์ด๋ฐ | createdOrder, updatedCoffee |
| Boolean์ ์ ๋์ฌ has ์ฌ์ฉ | updated, hasCredential |
| Optional์ optional ์ ๋์ฌ ์ฌ์ฉ | optionalUser |