์น๊ตฌ๋ค๊ณผ ํจ๊ปํ๋ ๋ค์ด์ดํธ ์ต๊ด, ๋ชจ๋
๋ชจ๋๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป ์์ฌ, ์ด๋, ์ฒด์ค ๊ธฐ๋ก์ ๊ณต์ ํ๋ฉฐ ๋ค์ด์ดํธ ์ต๊ด์ ์ด์ด๊ฐ ์ ์๋๋ก ๋๋ ์๋น์ค์ ๋๋ค. ์ด ์ ์ฅ์๋ ๋ชจ๋์ Java/Spring Boot ๊ธฐ๋ฐ ๋ฐฑ์๋ API ์๋ฒ์ ๋๋ค.
- ADR: ํ ๋ ผ์ ๊ธฐ๋ฐ์ ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ๊ธฐ๋ก
- LLD: ๊ธฐ๋ฅ ๋จ์ ๊ตฌํ ์ค๊ณ์ ์ ์ฑ ์ ๋ฆฌ
์ด ํ๋ก์ ํธ๋ ํ๋ค์ค ์์ง๋์ด๋ง ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํฉ๋๋ค. ์ค๊ณ์ ๊ฒ์ฆ ์ฅ์น๋ฅผ ๋จผ์ ๊ณ ์ ํ๊ณ , ๊ทธ ๊ธฐ์ค์ ๋ง์ถฐ ๊ตฌํ ํ์ง์ ๊ด๋ฆฌํฉ๋๋ค.
Team Discussion
-> ADR
-> LLD
-> Test Scenario
-> Code Generation
-> Human Review
-> PR / CI / Deploy
ํ ๋ด๋ถ์์ ๋ ผ์๋ ๊ธฐ์ ์ ์ ํ์ ADR๋ก ๋จ๊น๋๋ค. ADR์๋ ์ ํํ ๋ฐฉ๋ฒ๋ฟ ์๋๋ผ ๊ณ ๋ คํ ๋์, ํธ๋ ์ด๋์คํ, ํ์ ๋ฆฌ์คํฌ๋ฅผ ํจ๊ป ๊ธฐ๋กํฉ๋๋ค.
ADR์ด ๋ฐฉํฅ์ ์ ํ๋ฉด LLD์์ ์ค์ ๊ตฌํ ๋จ์๋ฅผ ์ค๊ณํฉ๋๋ค. API ์์ฒญ/์๋ต, ๋๋ฉ์ธ ๊ท์น, ์์ธ ์ฝ๋, ์ธ์ฆ ์กฐ๊ฑด, ์ ์ฅ ๋ฐฉ์์ฒ๋ผ ์ฝ๋๋ก ์ฎ๊ฒจ์ง ์ธ๋ถ์ฌํญ์ ๋จผ์ ์ ๋ฆฌํฉ๋๋ค.
LLD์์ ์์๋๋ ์ฃ์ง ์ผ์ด์ค๋ ํ ์คํธ ์๋๋ฆฌ์ค๋ก ๋ช ์ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ฌ๋์ด diff์ ํ ์คํธ๋ฅผ ๊ฒํ ํ ๋ค PR๋ก ๋ณํฉํฉ๋๋ค.
Issue ์์ฑ, Commit ์์ฑ, PR ์์ฑ์ ์ ์ฅ์ ์ ์ฉ ์คํฌ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ณต๋๋ ํ์ ์์ ์ ์์์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ณ , ๋๋ฝ๋๊ธฐ ์ฌ์ด ๋งํฌ์ ์ค๋ช ํ์์ ๊ณ ์ ํ๊ธฐ ์ํจ์ ๋๋ค.
| Category | Stack |
|---|---|
| Language | Java 21 |
| Framework | Spring Boot 3.4.1 |
| Persistence | Spring Data JPA, MySQL |
| API Docs | Swagger, Spring REST Docs |
| Test | JUnit 5, MockMvc |
| Build | Gradle |
| Deploy | GitHub Actions, Docker, GCP Compute Engine |
๋ก์ปฌ ์คํ์ ๊ธฐ๋ณธ์ ์ผ๋ก local profile์ ์ฌ์ฉํ๋ฉฐ MySQL ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
DB ์ค์ ์ ํ๊ฒฝ๋ณ์๋ก ์ฌ์ ์ํ ์ ์์ต๋๋ค.
./gradlew bootRunDB_URL=jdbc:mysql://localhost:3306/mody
DB_USERNAME=root
DB_PASSWORD=..../gradlew build
./gradlew test