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

WEEK 2 ํŒ€ ํšŒ๊ณ 

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

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

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

  • [๋‹ค๋นˆ]
    • UI ์ œ์ž‘: ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ
    • ์žฅ์†Œ, ๋ฏธ์…˜, ๊ฒŒ์‹œ๊ธ€, ๋ฐฉ๋ฌธ ๊ธฐ๋ก CRUD ๊ตฌํ˜„
  • [์†Œ์€]
    • ์‚ฌ์šฉ์ž CRUD ๊ตฌํ˜„
    • ์ด๋ฏธ์ง€ S3์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ ์„ค์ •

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

  • [๋‹ค๋นˆ]
    • ๋ฐฑ์—”๋“œ ๊ฐ ์—”ํ‹ฐํ‹ฐ ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„
  • [์†Œ์€]
    • ์ด๋ฏธ์ง€ ์˜ฌ๋ฆฌ๋Š” ๋กœ์ง ํ”„๋ก ํŠธ ์ฝ”๋“œ์— ์ถ”๊ฐ€

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

๋Œ€๋ถ„๋ฅ˜ ์†Œ๋ถ„๋ฅ˜ ์—…๋ฌด
UI ์ œ์ž‘ 3.2.4 ๋‚ด ์ •๋ณด
๋ฐฑ์•ค๋“œ์™€ ์—ฐ๊ฒฐ 3.3.2 ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ
  3.3.3 ๋ฏธ์…˜ ํƒ์ƒ‰
  3.3.4 ์ „์ฒด ๋ฏธ์…˜ ๋ฆฌ์ŠคํŠธ
  3.3.5 ๋‚ด ์ •๋ณด
  3.3.6 ํˆฌํ‘œ ํ™”๋ฉด
  3.3.7 UI/UX ์‹œ์Šคํ…œ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜
์‚ฌ์šฉ์ž CRUD ๊ตฌํ˜„ 4.2.1 ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ
  4.3.5 point ์Œ“๋Š” ๋กœ์ง ์ถ”๊ฐ€
๋ฏธ์…˜ CRUD ๊ตฌํ˜„ 4.3.5 point ์Œ“๋Š” ๋กœ์ง ์ถ”๊ฐ€
๊ฒŒ์‹œ๊ธ€ CRUD ๊ตฌํ˜„ 4.6.6 ์‚ฌ์ง„ ์œ ์‚ฌ๋„ ํŒ๋ณ„ (spring ai ์‚ฌ์šฉ)
์ด๋ฏธ์ง€ S3์— ์˜ฌ๋ฆฌ๊ธฐ 4.10.4 ํ”„๋ก ํŠธ์™€ ์—ฐ๊ฒฐ
Redis ์‚ฌ์šฉ 5.1.1 Redis ์„ค์ •
  5.1.2 ์ธ์ฆ ๊ธฐ๋Šฅ์— ์ ์šฉ
  5.1.3 ์ข‹์•„์š” ๊ธฐ๋Šฅ์— ์ ์šฉ

ํŒ€ ํšŒ๊ณ 

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

  • [์†Œ์€]
    • ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ฆฌ๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๋งŒ๋“œ๋Š” ๊ฒƒ์— ์‹œ๊ฐ„ ํˆฌ์ž๋ฅผ ๋งŽ์ด ํ–ˆ๋Š”๋ฐ, ๊ณ„ํš๋Œ€๋กœ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋งŒ๋“ค์–ด์ ธ์„œ ์ข‹๋‹ค.
    • ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…ํ•œ ๊ธฐ๋ก์„ ์œ„ํ‚ค๋กœ ๋ฌธ์„œํ™”ํ•˜์—ฌ ๋ฐœ์ƒํ–ˆ๋˜ ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ณ  ์‹œ๋„ํ–ˆ๋˜ ๋ฐฉ๋ฒ•๊ณผ ํ•ด๊ฒฐํ•œ ๋ฐฉ์•ˆ์„ ์ •๋ฆฌํ•˜๋ฉฐ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • [๋‹ค๋นˆ]
    • FE
      • svg ํŒŒ์ผ๋“ค์„ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก vue ํŒŒ์ผ๋กœ ์ œ์ž‘ํ•ด๋‘” ๋ฐฉ์‹
      • swagger๋กœ ๋ฐ”๋กœ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ชจ๋“  api๋ฅผ ์ถ”๊ฐ€ํ•ด๋‘” ๋ฐฉ์‹
    • BE
      • ์ผ๋ฐ˜ ๋กœ๊ทธ์ธ๊ณผ OAuth ๋กœ๊ทธ์ธ์˜ ๋ฐฉ๋ฒ•์— ๊ด€๊ณ„์—†์ด refresh ํ† ํฐ์€ ์ฟ ํ‚ค์—, access(jwt) ํ† ํฐ์€ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹

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

  • [์†Œ์€]
    • ํ˜„์žฌ hot link์™€ ๋Œ€์—ญํญ ๋‚จ์šฉ ๋ฌธ์ œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด WAF๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋น„์šฉ์ด ๋ฐœ์ƒ๋˜์–ด ๋” ์•Œ์•„๋ณด๊ณ  ๊ณ ์น  ์˜ˆ์ •์ด๋‹ค.
    • lamda function์ด ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ๊ณ ์น  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
  • [๋‹ค๋นˆ]
    • FE
      • BE๊ณผ ์•„์ง ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์€ ์š”์†Œ๋“ค์„ ์—ฐ๊ฒฐํ•˜์—ฌ DB ๊ฐ’์„ ๊ฐ€์ ธ์™€ ์›นํŽ˜์ด์ง€์— ๋„์›Œ์•ผ ํ•œ๋‹ค.
    • BE
      • ๊ฐ ์—”ํ‹ฐํ‹ฐ์™€ dto๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์ง„ํ–‰์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๊ฒŒ ์ž‘์„ฑ๋œ ๊ฒƒ๋“ค์„ ๊ณ ์ณ์•ผ ํ•œ๋‹ค.

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

  • [์†Œ์€]
    • spring ai ์ ์šฉ์€ ํ•ด๋ณธ ์ ์ด ์—†๋Š”๋ฐ, ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ai๋ฅผ ๋น„๊ต ๋ถ„์„ํ•˜๊ณ , ์ด๋ฏธ์ง€ ์œ ์‚ฌ๋„ ํŒ๋ณ„์— ์ ์ ˆํ•œ ์ธ๊ณต์ง€๋Šฅ์„ ์ฐพ์•„ ์ ์šฉํ•  ์˜ˆ์ •์ด๋‹ค.
  • [๋‹ค๋นˆ]
    • ์—†๋‹ค!

ํšŒ๊ณ  ๊ฒฐ๊ณผ

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

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์˜ ๊ณ ๋„ํ™”
  • Swagger๋กœ ํ…Œ์ŠคํŠธ ํŽธ๋ฆฌ์„ฑ ํ™•๋ณด
  • ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐฉ์‹์˜ ๊ณ ๋„ํ™”

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

  • AWS ๊ด€๋ จ ์„ค์ • ๋ฌธ์ œ
  • ๋ฐฑ์•ค๋“œ์™€์˜ ์—ฐ๊ฒฐ
  • ์—”ํ‹ฐํ‹ฐ์™€ DTO์˜ ์ˆ˜์ •

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

  • Spring AI์˜ ์ ์šฉ
โš ๏ธ **GitHub.com Fallback** โš ๏ธ