/delivery-food

๐Ÿ›ต ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ api ์„œ๋ฒ„ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ

Primary LanguageJava

delivery-food

๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ REST API ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•ด๋ณด๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

์‚ฌ์žฅ๋‹˜๊ณผ ๋ผ์ด๋”์˜ ์–ดํ”Œ์€ ์ด์šฉ๊ฐ€์ด๋“œ์™€ ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์ฐพ์•„๋ณด๋ฉฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ํŒŒ์•…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ์‚ฌ์žฅ๋‹˜ ์ด์šฉ๊ฐ€์ด๋“œ

๊ฐ ๋„๋ฉ”์ธ๋งˆ๋‹ค ์š”๊ตฌ์‚ฌํ•ญ๊ณผ API ๋ฌธ์„œ, ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœํ•˜๋ฉฐ ๊ณ ๋ฏผํ•œ ๋‚ด์šฉ๋“ค์„ ์ ์–ด ๋†“์•˜์Šต๋‹ˆ๋‹ค.

Environment

  • Java: JDK 11
  • Spring Boot: 2.3.3.RELEASE
  • MySQL: 8.0.17
  • Gradle

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ์˜ฌ๋ฐ”๋ฅธ ๋„๋ฉ”์ธ ์„ค๊ณ„
    • ์•ฝํ•œ ์˜์กด์„ฑ, ๊ฐ•ํ•œ ์‘์ง‘๋„
  • ์•„๋ž˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ง€ํ‚ค๋ฉฐ ์ฝ”๋“œ ์ž‘์„ฑ
  • ๋‚˜์œ ๋ƒ„์ƒˆ๊ฐ€ ๋‚˜๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฆฌํŒฉํ† ๋ง
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”
    • ์บ์‹ฑ ์ „๋žต
    • ์ธ๋ฑ์Šค์™€ ์ฟผ๋ฆฌ ํŠœ๋‹
    • DB ํ˜ธ์ถœ์„ ์ตœ์†Œํ™”
    • ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ™œ์šฉ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ

  • ๊ฐ์ฒด์ง€ํ–ฅ 5์›์น™์„ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค.
  • ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ ์ฒด์กฐ ์›์น™์„ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์— ๋Œ€ํ•œ ๋ชจ๋“  ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.
  • ๋ชจ๋“  ๋กœ์ง์— ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
  • ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ ์ฒด์กฐ ์›์น™
    • ๊ทœ์น™ 1: ํ•œ ๋ฉ”์„œ๋“œ์— ์˜ค์ง ํ•œ ๋‹จ๊ณ„์˜ ๋“ค์—ฌ์“ฐ๊ธฐ๋งŒ ํ•œ๋‹ค.
    • ๊ทœ์น™ 2: else ์˜ˆ์•ฝ์–ด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
    • ๊ทœ์น™ 3: ๋ชจ๋“  ์›์‹œ๊ฐ’๊ณผ ๋ฌธ์ž์—ด์„ ํฌ์žฅํ•œ๋‹ค.
    • ๊ทœ์น™ 4: ํ•œ ์ค„์— ์ ์„ ํ•˜๋‚˜๋งŒ ์ฐ๋Š”๋‹ค.
    • ๊ทœ์น™ 5: ์ค„์—ฌ์“ฐ์ง€ ์•Š๋Š”๋‹ค(์ถ•์•ฝ ๊ธˆ์ง€).
    • ๊ทœ์น™ 6: ๋ชจ๋“  ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•œ๋‹ค.
    • ๊ทœ์น™ 7: 3๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ํด๋ž˜์Šค๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
    • ๊ทœ์น™ 8: ์ผ๊ธ‰ ์ฝœ๋ ‰์…˜์„ ์“ด๋‹ค.
    • ๊ทœ์น™ 9: ๊ฒŒํ„ฐ/์„ธํ„ฐ/ํ”„๋กœํผํ‹ฐ๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
  • ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๋ธŒ๋žœ์น˜ ์ „๋žต