retrospect week1 - lets-go-trip/treaXure-backend GitHub Wiki

WEEK 1 ํŒ€ ํšŒ๊ณ 

ํšŒ๊ณ  ์ผ์‹œ: 2025.05.10

์ฐธ์„ ์ธ์›: ์œ ์†Œ์€, ๋…ธ๋‹ค๋นˆ

์ด๋ฒˆ์ฃผํ•œ ๊ฒƒ

  • ERD ์„ค๊ณ„
  • API ๋ช…์„ธ์„œ ์ž‘์„ฑ
  • ํ™”๋ฉด ๋ชฉ์—… ์„ค๊ณ„
  • ํ”„๋ก ํŠธ ํŽ˜์ด์ง€ ๋””์ž์ธ
  • ๊ฐ„ํŠธ ์ฐจํŠธ ์ž‘์„ฑ

์™„๋ฃŒํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ

  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ โ†’ ๋ชฉ์—… ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋กœ ์ž‘์—… ์ค‘

๋‹ค์Œ์ฃผํ•  ๊ฒƒ

๋Œ€๋ถ„๋ฅ˜ ์†Œ๋ถ„๋ฅ˜ ์—…๋ฌด
UI ์ œ์ž‘ 3.2.6 ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ
๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • 4.1.3 DB ์Šคํ‚ค๋งˆ ์ œ์ž‘
  4.1.4 DB ๋”๋ฏธ ํŒŒ์ผ ์ƒ์„ฑ
  4.1.5 RestAPI ๋””์ž์ธ
  4.1.6 Swagger ์„ค์ •
  4.1.7 ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์„ค์ •
  4.1.8 AWS ์„ค์ • (lightsail, S3, RDS)
์‚ฌ์šฉ์ž CRUD ๊ตฌํ˜„ 4.2.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.2.2 ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„
  4.2.3 ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ตฌํ˜„
  4.2.4 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ
์‚ฌ์šฉ์ž ์ธ์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„ 4.3.1 ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ (WebSecurityConfig)
  4.3.2 ํ•„ํ„ฐ ์ƒ์„ฑ
  4.3.3 OAuth ์—ฐ๊ฒฐ
  4.3.4 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ
์žฅ์†Œ CRUD ๊ตฌํ˜„ 4.4.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.4.2 ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„
  4.4.3 ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ตฌํ˜„
  4.4.4 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ
๋ฏธ์…˜ CRUD ๊ตฌํ˜„ 4.5.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.5.2 ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„
  4.5.3 ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ตฌํ˜„
  4.5.4 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ
๊ฒŒ์‹œ๊ธ€ CRUD ๊ตฌํ˜„ 4.6.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.6.2 S3 ์„ค์ •
  4.6.3 ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„
  4.6.4 ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ตฌํ˜„
  4.6.5 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ
  4.6.6 ์‚ฌ์ง„ ์œ ์‚ฌ๋„ ํŒ๋ณ„ (spring ai ์‚ฌ์šฉ)
๋ฐฉ๋ฌธ ๊ธฐ๋ก CRUD ๊ตฌํ˜„ 4.7.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.7.2 ๊ธฐ๋ณธ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„
  4.7.3 ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ตฌํ˜„
  4.7.4 Swagger ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ

ํŒ€ ํšŒ๊ณ 

๐Ÿ˜ Keep: ์œ ์ง€ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„

  • [๋‹ค๋นˆ]
    • ์ „๋ฐ˜์ ์ธ ๋ชจ๋ฐ”์ผ UI/UX์˜ ํ˜•ํƒœ
    • ์ž‘์—…์˜ ์ฒด๊ณ„ํ™” ๋ฐ ๊ตฌ์ฒดํ™”๋ฅผ ํ†ตํ•œ ์—…๋ฌด ๋ถ„๋‹ด
    • ๋…ธ์…˜ ๋ฐ ์œ„ํ‚ค ์ •๋ฆฌ
  • [์†Œ์€] ์ผ๊ฐ„ ์ผ์ •์— ๋”ฐ๋ฅธ ์ž‘์—… ์ˆ˜ํ–‰์ด ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰๋˜์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
    • ์ฒซ ์ฃผ์ฐจ์— ํ•„์š”ํ•œ ์ž‘์—…(ERD ์ž‘์„ฑ, RestAPI ์„ค๊ณ„, ํ™”๋ฉด ์ œ์ž‘ ๋“ฑ)์„ ์ถฉ๋ถ„ํžˆ ์ˆ˜ํ–‰
    • ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋ฏธ๋ฆฌ ์„ค์ • (๋…ธ์…˜, ๊นƒํ—ˆ๋ธŒ, ์œ„ํ‚ค)

๐Ÿ˜ž Problem: ๊ณ ์ณ์•ผ ํ•  ๋ถ€๋ถ„

  • [๋‹ค๋นˆ]
    • ๋ชจ๋‘๊ฐ€ ํ•œ ๋ฒˆ์— ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๋กœ๊ณ  ์ œ์ž‘..
    • ํ•  ์—…๋ฌด๊ฐ€ ๋งŽ์€ ๋งŒํผ ๊ฐ ์—…๋ฌด์— ๋Œ€ํ•ด ์ ์ ˆํ•œ ์‹œ๊ฐ„ ๋ถ„๋ฐฐ
  • [์†Œ์€]
    • ํ”„๋ก ํŠธ ํ™”๋ฉด ์ œ์ž‘๊ณผ ๋ฌธ์„œํ™”์— ์ง‘์ค‘ํ•˜์—ฌ ๋ฐฑ์•ค๋“œ์— ์‹œ๊ฐ„์„ ๋งŽ์ด ํˆฌ์žํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ
      • Entity ์ œ์ž‘ ๋ฐ DB ๋ฐ˜์˜
      • Repository์—์„œ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

๐Ÿค” Try: ๋„์ „ํ•  ๋ถ€๋ถ„

  • [๋‹ค๋นˆ]
    • Swagger ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ๊ณต๋ถ€์™€ ์‹ค์ œ ์ฝ”๋“œ๋กœ ์ ์šฉ
  • [์†Œ์€]
    • ๋ณต์žกํ•œ ERD ๊ตฌ์กฐ๋ฅผ DB๋กœ ์˜ฎ๊ธฐ๊ณ , SQL ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ณ ๋ฏผ ํ›„ ์ ์šฉ
    • Spring Security์™€ oAuth2.0์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„

ํšŒ๊ณ  ๊ฒฐ๊ณผ

๐Ÿ˜ Keep: ์œ ์ง€ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„

  • ํ˜‘์—… ํ™˜๊ฒฝ
  • ์ž‘์—… ๋ถ„๋ฐฐ ๋ฐ ์ˆ˜ํ–‰ ๋Šฅ๋ ฅ

๐Ÿ˜ž Problem: ๊ณ ์ณ์•ผ ํ•  ๋ถ€๋ถ„

  • ๋กœ๊ณ 
  • ์‹œ๊ฐ„ ๋ถ„๋ฐฐ
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

๐Ÿค” Try: ๋„์ „ํ•  ๋ถ€๋ถ„

  • Swagger
  • Spring Security
  • oAuth2.0
โš ๏ธ **GitHub.com Fallback** โš ๏ธ