Skip to content

Latest commit

ย 

History

249 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

mody

์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ํ•˜๋Š” ๋‹ค์ด์–ดํŠธ ์Šต๊ด€, ๋ชจ๋””

๋ชจ๋””๋Š” ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ ์‹์‚ฌ, ์šด๋™, ์ฒด์ค‘ ๊ธฐ๋ก์„ ๊ณต์œ ํ•˜๋ฉฐ ๋‹ค์ด์–ดํŠธ ์Šต๊ด€์„ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” ๋ชจ๋””์˜ Java/Spring Boot ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

Design Documents

  • ADR: ํŒ€ ๋…ผ์˜ ๊ธฐ๋ฐ˜์˜ ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ๋ก
  • LLD: ๊ธฐ๋Šฅ ๋‹จ์œ„ ๊ตฌํ˜„ ์„ค๊ณ„์™€ ์ •์ฑ… ์ •๋ฆฌ

How We Build

์ด ํ”„๋กœ์ ํŠธ๋Š” ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„์™€ ๊ฒ€์ฆ ์žฅ์น˜๋ฅผ ๋จผ์ € ๊ณ ์ •ํ•˜๊ณ , ๊ทธ ๊ธฐ์ค€์— ๋งž์ถฐ ๊ตฌํ˜„ ํ’ˆ์งˆ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Team Discussion
  -> ADR
  -> LLD
  -> Test Scenario
  -> Code Generation
  -> Human Review
  -> PR / CI / Deploy

ํŒ€ ๋‚ด๋ถ€์—์„œ ๋…ผ์˜๋œ ๊ธฐ์ˆ ์  ์„ ํƒ์€ ADR๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ADR์—๋Š” ์„ ํƒํ•œ ๋ฐฉ๋ฒ•๋ฟ ์•„๋‹ˆ๋ผ ๊ณ ๋ คํ•œ ๋Œ€์•ˆ, ํŠธ๋ ˆ์ด๋“œ์˜คํ”„, ํ›„์† ๋ฆฌ์Šคํฌ๋ฅผ ํ•จ๊ป˜ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

ADR์ด ๋ฐฉํ–ฅ์„ ์ •ํ•˜๋ฉด LLD์—์„œ ์‹ค์ œ ๊ตฌํ˜„ ๋‹จ์œ„๋ฅผ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. API ์š”์ฒญ/์‘๋‹ต, ๋„๋ฉ”์ธ ๊ทœ์น™, ์˜ˆ์™ธ ์ฝ”๋“œ, ์ธ์ฆ ์กฐ๊ฑด, ์ €์žฅ ๋ฐฉ์‹์ฒ˜๋Ÿผ ์ฝ”๋“œ๋กœ ์˜ฎ๊ฒจ์งˆ ์„ธ๋ถ€์‚ฌํ•ญ์„ ๋จผ์ € ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

LLD์—์„œ ์˜ˆ์ƒ๋˜๋Š” ์—ฃ์ง€ ์ผ€์ด์Šค๋Š” ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์‚ฌ๋žŒ์ด diff์™€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฒ€ํ† ํ•œ ๋’ค PR๋กœ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Issue ์ƒ์„ฑ, Commit ์ž‘์„ฑ, PR ์ƒ์„ฑ์€ ์ €์žฅ์†Œ ์ „์šฉ ์Šคํ‚ฌ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต๋˜๋Š” ํ˜‘์—… ์ž‘์—…์˜ ์–‘์‹์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ๋ˆ„๋ฝ๋˜๊ธฐ ์‰ฌ์šด ๋งํฌ์™€ ์„ค๋ช… ํ˜•์‹์„ ๊ณ ์ •ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

Technical Baseline

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

Getting Started

๋กœ์ปฌ ์‹คํ–‰์€ ๊ธฐ๋ณธ์ ์œผ๋กœ local profile์„ ์‚ฌ์šฉํ•˜๋ฉฐ MySQL ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. DB ์„ค์ •์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

./gradlew bootRun
DB_URL=jdbc:mysql://localhost:3306/mody
DB_USERNAME=root
DB_PASSWORD=...

Verification

./gradlew build
./gradlew test

About

[๐Ÿฅ‡ CMC 19th ๋Œ€์ƒ] ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ํ•˜๋Š” ๋‹ค์ด์–ดํŠธ ์Šต๊ด€, ๋ชจ๋”” mody

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages