1. Backend Wiki - 100-hours-a-week/7-team-ddb-wiki GitHub Wiki
์ฐธ๊ณ : roadmap.md
์ฐธ์กฐ
๊ธฐ๊ฐ | ์ฃผ์ ์์ (Backend ๊ด๋ จ) |
---|---|
~ 2025.05.12 | - ์ฌ์ฉ์ ์ธ์ฆ/์ธ๊ฐ API ๊ฐ๋ฐ - ์ด๊ธฐ ์ฌ์ฉ์ ์ ๋ณด ์ฒ๋ฆฌ API ๊ฐ๋ฐ - AI ์ถ์ฒ ๊ฒฐ๊ณผ ์ ๊ณต API ๊ฐ๋ฐ - ์ฅ์ ์ ๋ณด ์กฐํ API ๊ฐ๋ฐ - DB ๋ชจ๋ธ๋ง (์ฌ์ฉ์, ์ฅ์, ์ด๊ธฐ ์ถ์ฒ ๋ฐ์ดํฐ) - ๊ธฐ๋ก CRUD API ๊ฐ๋ฐ |
~ 2025.06.20 | - ์ฌ์ง ์
๋ก๋ ์ฒ๋ฆฌ (S3 ์ฐ๋) - ๊ฐ์ธํ ์ถ์ฒ ๋ก์ง ์ฐ๋ API ์์ - DB ๋ชจ๋ธ๋ง (๋ฆฌ๋ทฐ, ์ข์์ ๋ฑ) |
~ 2025.07.18 | - ์ง์ญ๋ณ ์ธ๊ธฐ ๊ฒ์๊ธ ์ง๊ณ ๋ก์ง ๊ฐ๋ฐ - Geofencing ์ฐ๋ API ๊ฐ๋ฐ - ๊ธฐ๋ก ํค์๋ ๋ถ์ ๋ฐ ์ถ์ฒ ๋ฐ์ ๋ก์ง ๊ฐ๋ฐ - '๋ฐ๊ฒฌํ ์ฅ์ ๋ฆฌ์คํธ' API ๊ฐ๋ฐ |
~ 2025.08.01 | - ์ ์ฒด ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ์ฑ๋ฅ ๊ฐ์ - API ์๋ต ๊ตฌ์กฐ ๋ฐ ์๋ฌ ์ฒ๋ฆฌ ํ์คํ - DB ์ฟผ๋ฆฌ ์ต์ ํ |
-
ERD ๋ค์ด์ด๊ทธ๋จ https://www.erdcloud.com/d/4EXE3TQWj8xoCmqjP
-
ERD ๋ช ์ธ์ https://www.notion.so/Dolpin-ERD-1d6e68db3e15808c918cd307c252de6b
- API ๋ช ์ธ์: https://www.notion.so/Dolpin-API-1dce68db3e1580c98317ca7fd9a91b9d
- ์๋ต ๊ท๊ฒฉ: ํ์ค RESTful API ์๋ต ํ์ ์ค์ (์ฑ๊ณต/์คํจ ์ํ ์ฝ๋, ๋ฐ์ดํฐ, ๋ฉ์์ง ๋ฑ ํฌํจ)
์ฐธ๊ณ : README.md
์ํคํ
์ฒ ๊ตฌ์กฐ ์ฐธ์กฐ
- ๋ฐฐํฌ ํ๊ฒฝ: AWS (EC2, RDS ๋ฑ ํ์ฉ ์์)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: MySQL (AWS RDS ํ์ฉ ์์)
- ์น ์๋ฒ: Nginx (๋ก๋๋ฐธ๋ฐ์ฑ ๋ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์)
- CI/CD ๋๊ตฌ: GitHub Actions
- ๋น๋ ๋๊ตฌ: Gradle
- ์ปจํ ์ด๋ํ: Docker
-
ํ์ดํ๋ผ์ธ ์์ฝ:
-
dev
๋ธ๋์น์ ํธ์/๋ณํฉ ์ ์๋ ๋น๋ (Gradle) ๋ฐ ํ ์คํธ ์คํ - ํ ์คํธ ํต๊ณผ ์ Docker ์ด๋ฏธ์ง ๋น๋ ๋ฐ AWS ํ๊ฒฝ์ ๋ฐฐํฌ (๊ฐ๋ฐ ์๋ฒ)
-
main
๋ธ๋์น์ ๋ณํฉ ์ ์๋ ๋น๋, ํ ์คํธ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ ๋ฐฐํฌ
-
๋๊ตฌ | ์ญํ | ๋ชฉ์ |
---|---|---|
.editorconfig | ์ฝ๋ ์คํ์ผ ํต์ผ | IDE ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฝ๋ ์คํ์ผ ์ผ๊ด์ฑ ์ ์ง |
Checkstyle | ์ ์ ์ฝ๋ ๋ถ์ | ์ ์๋ ์ฝ๋ฉ ๊ท์น ์ค์ ์ฌ๋ถ ๊ฒ์ฌ |
JaCoCo | ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ์ธก์ | ํ ์คํธ ์ฝ๋์ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋ถ์ |
(์ ํ) Java Test Fixtures | ํ ์คํธ ํฝ์ค์ฒ ๊ด๋ฆฌ | ํ ์คํธ ๋ฐ์ดํฐ ๋ฐ ์ค์ ์ ์ฌ์ฌ์ฉ์ฑ ๋ฐ ๊ด๋ฆฌ ์ฉ์ด์ฑ ์ฆ๋ |
(์ ํ) SonarQube | ์ฝ๋ ํ์ง ํ๋ซํผ | ์ ์ ๋ถ์, ๋ฒ๊ทธ, ๋ณด์ ์ทจ์ฝ์ ๋ฑ ์ข ํฉ์ ์ธ ์ฝ๋ ํ์ง ๊ด๋ฆฌ |
- (์ถ๊ฐ ์์ ) 1. ํธ๋ฌ๋ธ ์ํ ์ ๋ชฉ
EditorConfig (.editorconfig
ํ์ผ)
์ค์ ํญ๋ชฉ | ๊ฐ | ์ค๋ช |
---|---|---|
charset | utf-8 | ๋ฌธ์ ์ธ์ฝ๋ฉ UTF-8 |
end_of_line | lf | ์ค ๋ ๋ฌธ์๋ LF |
indent_style | space | ๋ค์ฌ์ฐ๊ธฐ ์คํ์ผ์ ๊ณต๋ฐฑ |
indent_size | 4 | ๋ค์ฌ์ฐ๊ธฐ ํฌ๊ธฐ๋ 4์นธ |
insert_final_newline | true | ํ์ผ ๋์ ๋น ์ค ์ถ๊ฐ |
trim_trailing_whitespace | true | ์ค ๋์ ๋ถํ์ํ ๊ณต๋ฐฑ ์ ๊ฑฐ |
max_line_length | 120 | ํ ์ค์ ์ต๋ ๊ธธ์ด 120์ |
CheckStyle (ํ๋ก์ ํธ ๋ด checkstyle.xml
์ค์ ํ์ผ ์ฐธ์กฐ)
Google Java Style Guide ๊ธฐ๋ฐ ์ค์ ์ฌ์ฉ ๊ถ์ฅ
ํญ๋ชฉ | ๊ท์น (์์ฝ) |
---|---|
ํด๋์ค๋ช | PascalCase |
๋ณ์๋ช ๋ฐ ๋ฉ์๋๋ช | camelCase |
์์๋ช | UPPER_SNAKE_CASE |
ํจํค์ง๋ช | ์๋ฌธ์, . ๊ตฌ๋ถ |
ํญ ์ฌ์ฉ | ์ฌ์ฉ ๊ธ์ง (๊ณต๋ฐฑ ์ฌ์ฉ) |
์ค ๋ฐ๊ฟ | ์ผ๊ด๋ ๊ท์น ์ ์ฉ (์ฐ์ฐ์ ์ด์ /์ดํ ๋ฑ) |
์ต๋ ๋ผ์ธ ๊ธธ์ด | 120์ (EditorConfig์ ๋์ผ) |
์ ์ด๋ฌธ ๋ธ๋ก {} | ํญ์ ์ฌ์ฉ (if, for, while ๋ฑ) |
์ฐ์ฐ์ ๋ฐฐ์น | ์ผ๊ด๋ ๊ท์น ์ ์ฉ |
import ์์ | ํ์ค ์์ ์ ์ฉ (java, javax, org, com...) |
์ฃผ์ ์คํ์ผ | Javadoc, // ๋ฑ ๋ช
ํํ ์คํ์ผ ์ฌ์ฉ |
(Angular Commit Convention ๊ธฐ๋ฐ)
์ปค๋ฐ ๋ฉ์์ง ํ์:
<type>: <subject> (#์ด์๋ฒํธ)
<body>
<footer>
์ ๋ชฉ ๊ท์น:
-
type:
๋ค์ ํ ์นธ ๊ณต๋ฐฑ ํ์ - ์ ๋ชฉ ๋์ ๋ง์นจํ(.) ์ฌ์ฉ ๊ธ์ง
- ์ ๋ชฉ์ ๊ฐ๊ฒฐํ๊ฒ ํต์ฌ ๋ด์ฉ ์์ฝ
- ์ด์ ๋ฒํธ๋ ์ ๋ชฉ ๋
#์ด์๋ฒํธ
ํ์์ผ๋ก ์ถ๊ฐ
ํ์ | ์ค๋ช |
---|---|
build | ๋น๋ ์์คํ ๋๋ ์ธ๋ถ ์์กด์ฑ ๋ณ๊ฒฝ (gradle, npm ๋ฑ) |
chore | ์ฝ๋ ์์ ์์ด ์ค์ ๋ณ๊ฒฝ, ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฑ ๊ธฐํ ์ก๋ฌด |
content | (๋ณ๋ ์ ์ ํ์ ์) |
docs | ๋ฌธ์ ์์ (README, Wiki ๋ฑ) |
feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
fix | ๋ฒ๊ทธ ์์ |
refactor | ์ฝ๋ ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ ) |
style | ์ฝ๋ ์คํ์ผ ๋ณ๊ฒฝ (ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋ฑ; ๋ก์ง ๋ณ๊ฒฝ ์์) |
test | ํ ์คํธ ์ฝ๋ ์ถ๊ฐ/์์ |
deploy | ๋ฐฐํฌ ๊ด๋ จ ์คํฌ๋ฆฝํธ ๋๋ ์ค์ ๋ณ๊ฒฝ |
์์:
feat: ์ฌ์ฉ์ ๋ก๊ทธ์ธ API ๊ตฌํ (#42)
์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ด์ฉํ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
JWT ํ ํฐ ๋ฐ๊ธ ๋ก์ง ํฌํจ.
-
๋ธ๋์น ์ ๋ต:
frontend-wiki.md
์ Git ๋ธ๋์น ์ ๋ต๊ณผ ๋์ผํ๊ฒ ์ ์ฉ (main, dev, feature/#, bug/#, refactor/#) -
PR ์ ๋ชฉ: ์ปค๋ฐ ๋ฉ์์ง ์ ๋ชฉ ํ์๊ณผ ์ ์ฌํ๊ฒ ์์ฑ (์:
Feat: ์ฌ์ฉ์ ๋ก๊ทธ์ธ API ๊ตฌํ (#42)
) - PR ๋ด์ฉ: ๋ณ๊ฒฝ ๋ชฉ์ , ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ, ํ ์คํธ ๋ฐฉ๋ฒ, ๊ด๋ จ ์ด์ ๋ฒํธ ๋ช ์
- ์ฝ๋ ๋ฆฌ๋ทฐ: ์ต์ 1๋ช ์ด์์ ๋ฆฌ๋ทฐ์ด ์น์ธ ํ ๋ณํฉ ์์น
- ๋จ์ ํ ์คํธ: ์ฃผ์ ๋ก์ง์ ๋ํ ๋จ์ ํ ์คํธ ์์ฑ ๊ถ์ฅ (JUnit, Mockito ๋ฑ ์ฌ์ฉ)