์ Spring Boot ์๋น์ค๋ฅผ api-gateway + auth-api ์์ฝ์์คํ ์ ์ฐ๊ฒฐํ๋ค. auth-api ํด๋ผ์ด์ธํธ ๋ฑ๋ก โ Gateway ๋ผ์ฐํ ์ถ๊ฐ โ ์๋น์ค์ econo-passport ์ฐ๋ โ ๋์ ํ์ธ๊น์ง ํ ๋ฒ์ ์ฒ๋ฆฌ. ๋ค์ ์ํฉ์์ ๋ฐ๋์ ์ด ์คํฌ์ ์ฌ์ฉํ๋ค: - "์ ์๋น์ค Gateway์ ์ฐ๊ฒฐํด์ค", "์ ์๋น์ค auth ์ฐ๋" - "์๋น์ค ๋ฑ๋กํด์ค", "Gateway ๋ค์ ๋ถ์ฌ์ค" - "/register-service" ์ง์ ํธ์ถ - ์ Spring Boot ์๋น์ค๊ฐ ์ถ๊ฐ๋๊ณ ์ธ์ฆ์ด ํ์ํ ๋ ARGUMENTS: ์๋น์ค๋ช , ์๋น์ค ๊ฒฝ๋ก(์ ํ), ์ ์คํธ๋ฆผ URL(์ ํ) ์: "EEOS-BE /Users/mando/study/eeos/EEOS-BE/eeos"
์ด ์คํฌ์ ์ฌ์ฉ์๊ฐ "PR ์์ฑํด์ค", "PR ๋ง๋ค์ด์ค", "pull request ์์ฑ", "pr ์ฌ๋ ค์ค", "/git-pr" ๋ฑ์ ์์ฒญํ ๋ ํธ์ถ๋๋ค. ํ์ฌ ๋ธ๋์น์ ์ปค๋ฐ์ ์๊ฒฉ์ผ๋ก pushํ๊ณ , `.github/PULL_REQUEST_TEMPLATE.md`๋ฅผ ์ฑ์ GitHub Pull Request๋ฅผ ์์ฑํ๋ค.
์ ๊ท ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ ๋ ์ ์ฑ ๋ฌธ์ โ ์ฝ๋ โ ํ ์คํธ ์์๋ก ์์ฑํ๋ค. ADR์ ๊ธฐ์ ์ ๊ฒฐ์ ์๋ง ์ฌ์ฉํ๊ณ , ๊ธฐ๋ฅ ์ ์ฑ ์ docs/features/ ์ ์์ฑํ๋ค. ๋ค์ ์ํฉ์์ ๋ฐ๋์ ์ด ์คํฌ์ ์ฌ์ฉํ๋ค: - "๊ธฐ๋ฅ ์ถ๊ฐํด์ค", "๊ธฐํ๋ถํฐ ํด๋ด", "์ค๊ณํด๋ด" - ์๋ก์ด API ์๋ํฌ์ธํธ ๋๋ ๋๋ฉ์ธ ๊ท์น์ด ์๊ธธ ๋ - "/new-feature" ์ง์ ํธ์ถ ARGUMENTS: ๊ธฐ๋ฅ ์ด๋ฆ ๋๋ ์๊ตฌ์ฌํญ (์์ผ๋ฉด ๋ํ์์ ์ถ์ถ)
Architecture Decision Record(ADR)๋ฅผ ์์ฑํ๋ค. ๊ธฐ์ ์ ๊ฒฐ์ ์ฌํญ, ์ค๊ณ ์ ํ, ํธ๋ ์ด๋์คํ๋ฅผ ๋ฌธ์ํํ์ฌ ๋์ค์ "์ ์ด๋ ๊ฒ ํ์ง?"๋ฅผ ์ ์ ์๊ฒ ํ๋ค. ๋ค์ ์ํฉ์์ ๋ฐ๋์ ์ด ์คํฌ์ ์ฌ์ฉํ๋ค: - "ADR ์จ์ค", "๊ฒฐ์ ์ฌํญ ๋ฌธ์ํํด์ค", "์ด ๊ฒฐ์ ๊ธฐ๋กํด์ค" - ๊ธฐ์ ๋ฐฉํฅ ์ ํ ํ ("A ๋์ B ์ฐ๊ธฐ๋ก ํ์ด") - ์ค๊ณ ๋ ผ์๊ฐ ๋๋ฌ์ ๋ - ๋์ค์ ์ด ๊ฒฐ์ ์ด ์ ๋ด๋ ค์ก๋์ง ์ค๋ช ์ด ํ์ํ ๊ฒ ๊ฐ์ ๋ - "/adr" ์ง์ ํธ์ถ ARGUMENTS: ๊ฒฐ์ ๋ด์ฉ ๋๋ ๊ฒฐ์ ๋ฒํธ (์์ผ๋ฉด ๋ํ์์ ์ถ์ถ)
AI ์์ด์ ํธ์ ์ก์ ์คํ์ด์ค, ๋๊ตฌ ์ ์, ๊ด์ธก(Observation) ํฌ๋งท์ ์ค๊ณยท์ต์ ํํด ์์ ์์์จ์ ๋์ผ ๋ ์ฌ์ฉํ๋ค.
๋ก์ปฌ ๊ฐ๋ฐ, ์ปจํ ์ด๋ ๋ณด์, ๋คํธ์ํน, ๋ณผ๋ฅจ ์ ๋ต, ๋ฉํฐ ์๋น์ค ์ค์ผ์คํธ๋ ์ด์ ์ ์ํ Docker ๋ฐ Docker Compose ํจํด.
๋ธ๋์น ์ ๋ต, ์ปค๋ฐ ์ปจ๋ฒค์ , ๋จธ์ง vs ๋ฆฌ๋ฒ ์ด์ค, ์ถฉ๋ ํด๊ฒฐ, ํ์ ๊ฐ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํฌํจํ๋ Git ์ํฌํ๋ก ํจํด. ๋ชจ๋ ๊ท๋ชจ์ ํ์ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
GitHub ์ ์ฅ์ ์ด์ยท์๋ํยท๊ด๋ฆฌ. gh CLI๋ฅผ ํ์ฉํ ์ด์ ๋ถ๋ฅ, PR ๊ด๋ฆฌ, CI/CD ์ด์, ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ, ๋ณด์ ๋ชจ๋ํฐ๋ง. ๋จ์ git ๋ช ๋ น์ ๋์ด GitHub ์ด์ยทPRยทCI ์ํยท๋ฆด๋ฆฌ์คยท๊ธฐ์ฌ์ยทstale ํญ๋ชฉ ๊ด๋ฆฌ ๋ฑ GitHub ์ด์ ์์ ์ ์ํํ ๋ ์ฌ์ฉํ๋ค.